Re: all_visible replay aborting due to uninitialized pages
От | Heikki Linnakangas |
---|---|
Тема | Re: all_visible replay aborting due to uninitialized pages |
Дата | |
Msg-id | 5267B3FF.1040008@vmware.com обсуждение исходный текст |
Ответ на | Re: all_visible replay aborting due to uninitialized pages (Andres Freund <andres@2ndquadrant.com>) |
Список | pgsql-hackers |
On 22.10.2013 14:14, Andres Freund wrote: > Hi Robert, Heikki, > > On 2013-09-24 13:25:41 +0200, Andres Freund wrote: >>> I'm afraid this patch was a few bricks shy of a load. The >>> log_newpage_buffer() function asserts that: >>> >>>> /* We should be in a critical section. */ >>>> Assert(CritSectionCount> 0); >>> >>> But the call in vacuumlazy.c is not inside a critical section. Also, the >>> comments in log_newpage_buffer() say that the caller should mark the buffer >>> dirty *before* calling log_newpage_buffer(), but in vacuumlazy.c, it's >>> marked dirty afterwards. I'm not sure what consequences that might have, but >>> at least it contradicts the comment. >>> >>> (spotted this while working on a patch, and ran into the assertion on crash >>> recovery) >> >> What about the attached patches (one for 9.3 and master, the other for >> 9.2)? I've tested that I can trigger the assert before and not after by >> inserting faults... > > Yould either of you commit those patches to the corresponding branches? Committed, thanks. - Heikki
В списке pgsql-hackers по дате отправления: