Re: New WAL record to detect the checkpoint redo location - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: New WAL record to detect the checkpoint redo location
Date
Msg-id ZPARqli3/euwXZed@paquier.xyz
Whole thread Raw
In response to Re: New WAL record to detect the checkpoint redo location  (Dilip Kumar <dilipbalaut@gmail.com>)
Responses Re: New WAL record to detect the checkpoint redo location
List pgsql-hackers
On Wed, Aug 30, 2023 at 04:51:19PM +0530, Dilip Kumar wrote:
> Your suggestions LGTM so modified accordingly

I have been putting my HEAD on this patch for a few hours, reviewing
the surroundings, and somewhat missed that this computation is done
while we do not hold the WAL insert locks:
+       checkPoint.redo = ProcLastRecPtr;

Then a few lines down the shared Insert.RedoRecPtr is updated while
holding an exclusive lock.
    RedoRecPtr = XLogCtl->Insert.RedoRecPtr = checkPoint.redo;

If we have a bunch of records inserted between the moment when the
REDO record is inserted and the moment when the checkpointer takes the
exclusive WAL lock, aren't we potentially missing a lot of FPW's that
should exist since the redo LSN?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Streaming I/O, vectored I/O (WIP)
Next
From: Michael Paquier
Date:
Subject: Re: [PATCH] Add native windows on arm64 support