Re: vac_truncate_clog()'s bogus check leads to bogusness
От | Andres Freund |
---|---|
Тема | Re: vac_truncate_clog()'s bogus check leads to bogusness |
Дата | |
Msg-id | 20230713204541.c4rvv3d4bllfhpsr@awork3.anarazel.de обсуждение исходный текст |
Ответ на | Re: vac_truncate_clog()'s bogus check leads to bogusness (Noah Misch <noah@leadboat.com>) |
Список | pgsql-hackers |
On 2023-06-22 22:29:12 -0700, Noah Misch wrote: > On Thu, Jun 22, 2023 at 09:45:18AM -0700, Andres Freund wrote: > > On 2023-06-21 21:50:39 -0700, Noah Misch wrote: > > > On Wed, Jun 21, 2023 at 03:12:08PM -0700, Andres Freund wrote: > > > > When vac_truncate_clog() returns early > > > ... > > > > we haven't released the lwlock that we acquired earlier > > > > > > > Until there's some cause for the session to call LWLockReleaseAll(), the lock > > > > is held. Until then neither the process holding the lock, nor any other > > > > process, can finish vacuuming. We don't even have an assert against a > > > > self-deadlock with an already held lock, oddly enough. > > > > > > I agree with this finding. Would you like to add the lwlock releases, or > > > would you like me to? > > > > Happy with either. I do have code and testcase, so I guess it would make > > sense for me to do it? > > Sounds good. Thanks. Done.
В списке pgsql-hackers по дате отправления: