Re: MultiXact\SLRU buffers configuration
От | Robert Haas |
---|---|
Тема | Re: MultiXact\SLRU buffers configuration |
Дата | |
Msg-id | CA+TgmoarL2nTionJxAgJcuOWm3S9d0hBMHmQ78-6HoO1JgphHQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: MultiXact\SLRU buffers configuration (Thom Brown <thom@linux.com>) |
Список | pgsql-hackers |
On Tue, Oct 29, 2024 at 1:45 PM Thom Brown <thom@linux.com> wrote: > Taking a look at what's happening under the hood, it seems to be > getting stuck here: > > if (nextMXOffset == 0) > { > /* Corner case 2: next multixact is still > being filled in */ > LWLockRelease(MultiXactOffsetSLRULock); > CHECK_FOR_INTERRUPTS(); > pg_usleep(1000L); > goto retry; > } > > It clearly checks for interrupts, but when I saw this issue happen, it > wasn't interruptible. I don't understand the underlying issue here; however, if a process holds an lwlock, it's not interruptible, even if it checks for interrupts. So it could be that at this point in the code we're holding some other LWLock, such as a buffer content lock, and that's why this code fails to achieve its objective. -- Robert Haas EDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: