On 2025-Nov-07, Bertrand Drouvot wrote:

> Agree, will modify the .cocci scripts that way.

I just noticed that we missed this ... maybe you want to include it also?

diff --git a/src/backend/replication/syncrep.c 
b/src/backend/replication/syncrep.c
index a0c79958fd5..1f11c8646f5 100644
--- a/src/backend/replication/syncrep.c
+++ b/src/backend/replication/syncrep.c
@@ -355,7 +355,7 @@ SyncRepWaitForLSN(XLogRecPtr lsn, bool commit)
        pg_read_barrier();
        Assert(dlist_node_is_detached(&MyProc->syncRepLinks));
        MyProc->syncRepState = SYNC_REP_NOT_WAITING;
-       MyProc->waitLSN = 0;
+       MyProc->waitLSN = InvalidXLogRecPtr;
 
        /* reset ps display to remove the suffix */
        if (update_process_title)
@@ -1028,7 +1028,7 @@ SyncRepQueueIsOrderedByLSN(int mode)
 
        Assert(mode >= 0 && mode < NUM_SYNC_REP_WAIT_MODE);
 
-       lastLSN = 0;
+       lastLSN = InvalidXLogRecPtr;
 
        dlist_foreach(iter, &WalSndCtl->SyncRepQueue[mode])
        {
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 1504fafe6d8..ce0d6a7539c 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -509,7 +509,7 @@ InitProcess(void)
        MyProc->recoveryConflictPending = false;
 
        /* Initialize fields for sync rep */
-       MyProc->waitLSN = 0;
+       MyProc->waitLSN = InvalidXLogRecPtr;
        MyProc->syncRepState = SYNC_REP_NOT_WAITING;
        dlist_node_init(&MyProc->syncRepLinks);
 

> Now that XLogRecPtrIsValid() is available in back branches, I agree that we
> can be less conservative and not wait until v24. v21 looks like good timing to
> me.

Cool,  please resubmit.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"They proved that being American is not just for some people"
                                               (George Takei)


Reply via email to