Re: MarkBufferDirtyHint() and LSN update - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: MarkBufferDirtyHint() and LSN update
Date
Msg-id 20191113121703.GY1549@paquier.xyz
Whole thread Raw
In response to Re: MarkBufferDirtyHint() and LSN update  (Antonin Houska <ah@cybertec.at>)
Responses Re: MarkBufferDirtyHint() and LSN update  (Michael Paquier <michael@paquier.xyz>)
Re: MarkBufferDirtyHint() and LSN update  (Antonin Houska <ah@cybertec.at>)
List pgsql-hackers
On Mon, Nov 11, 2019 at 10:03:14AM +0100, Antonin Houska wrote:
> This looks good to me.

Actually, no, this is not good.  I have been studying more the patch,
and after stressing more this code path with a cluster having
checksums enabled and shared_buffers at 1MB, I have been able to make
a couple of page's LSNs go backwards with pgbench -s 100.  The cause
was simply that the page got flushed with a newer LSN than what was
returned by XLogSaveBufferForHint() before taking the buffer header
lock, so updating only the LSN for a non-dirty page was simply
guarding against that.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: Feature improvement: can we add queryId for pg_catalog.pg_stat_activityview?
Next
From: Amit Kapila
Date:
Subject: Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions