Re: 8.3.0 Core with concurrent vacuum fulls
От | Tom Lane |
---|---|
Тема | Re: 8.3.0 Core with concurrent vacuum fulls |
Дата | |
Msg-id | 23355.1204726612@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: 8.3.0 Core with concurrent vacuum fulls ("Pavan Deolasee" <pavan.deolasee@gmail.com>) |
Ответы |
Re: 8.3.0 Core with concurrent vacuum fulls
|
Список | pgsql-hackers |
"Pavan Deolasee" <pavan.deolasee@gmail.com> writes: > Why not just unconditionally finish the phase 2 as part of InitPostgres ? You're jumping to a patch before we even understand what's happening. In particular, if that's the problem, why has this not been seen before? The fact that it's going through heap_page_prune doesn't seem very relevant --- VACUUM FULL has certainly always had to invoke CacheInvalidateHeapTuple someplace or other. So I still want to see the deadlock report ... we at least need to know which tables are involved in the deadlock. A separate line of thought is whether it's a good idea that heap_page_prune calls the inval code inside a critical section. That's what's turning an ordinary deadlock failure into a PANIC. Even without the possibility of having to do cache initialization, that's a lot of code to be invoking, and it has obvious failure modes (eg, out of memory for the new inval list item). regards, tom lane
В списке pgsql-hackers по дате отправления: