Hi, On 2019-04-05 00:06:04 -0300, Alvaro Herrera wrote: > On 2019-Apr-04, Andres Freund wrote: > > > On 2019-04-04 12:23:08 -0700, Andres Freund wrote: > > > Also, how is this code even close to correct? > > > CheckAndSetPageAllVisible() modifies the buffer in a crucial way, and > > > there's no WAL logging? Without even a comment arguing why that's OK (I > > > don't think it is)? > > > > Peter Geoghegan just reminded me over IM that there's actually logging > > inside log_heap_visible(), called from visibilitymap_set(). Still lacks > > a critical section though. > > Hmm, isn't there already a critical section in visibilitymap_set itself?
There is, but the proposed code sets all visible on the page, and marks the buffer dirty, before calling visibilitymap_set. Greetings, Andres Freund