Re: hung backends stuck in spinlock heavy endless loop
От | Andres Freund |
---|---|
Тема | Re: hung backends stuck in spinlock heavy endless loop |
Дата | |
Msg-id | 20150114151729.GR5245@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: hung backends stuck in spinlock heavy endless loop (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 2015-01-14 10:13:32 -0500, Tom Lane wrote: > Merlin Moncure <mmoncure@gmail.com> writes: > > Yes, it is pg_class is coming from LockBufferForCleanup (). As you > > can see above, it has a shorter runtime. So it was killed off once > > about a half hour ago which did not free up the logjam. However, AV > > spawned it again and now it does not respond to cancel. > > Interesting. That seems like there might be two separate issues at > play. It's plausible that LockBufferForCleanup might be interfering > with other attempts to scan the index, but then why wouldn't killing > the AV have unstuck things? LockBufferForCleanup() unfortunately isn't interruptible. I've every now and then seen vacuums being stuck for a long while, trying to acquire cleanup locks - IIRC I complained about that on list even. So autovac will only be cancelled when going to the next page. And even if the page ever gets a zero (well, one) refcount, by the time autovac is woken up via the semaphore, it'll often end up being used again. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: