On Fri, May 5, 2023 at 2:59 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Fri, May 5, 2023 at 1:16 PM Drouvot, Bertrand > <bertranddrouvot...@gmail.com> wrote: > > > > > > After multiple attempts, I got one failing one. > > > > Issue is that we expect this file to be removed: > > > > [07:24:27.261](0.899s) #WAL file is > > /Users/admin/pgsql/build/testrun/recovery/035_standby_logical_decoding/data/t_035_standby_logical_decoding_standby_data/pgdata/pg_wal/000000010000000000000003 > > > > But the standby emits: > > > > 2023-05-05 07:24:27.216 UTC [17909][client backend] > > [035_standby_logical_decoding.pl][3/6:0] LOG: statement: checkpoint; > > 2023-05-05 07:24:27.216 UTC [17745][checkpointer] LOG: restartpoint > > starting: immediate wait > > 2023-05-05 07:24:27.259 UTC [17745][checkpointer] LOG: attempting to > > remove WAL segments older than log file 000000000000000000000002 > > > > So it seems the test is not right (missing activity??), not sure why yet. > > > > Can you try to print the value returned by > XLogGetReplicationSlotMinimumLSN() in KeepLogSeg() on standby? Also, > please try to print "attempting to remove WAL segments ..." on the > primary. We can see, if by any chance some slot is holding us to > remove the required WAL file. >
We can also probably check the values of 'endptr', 'receivePtr', and replayPtr on standby in the below code: CreateRestartPoint() { ... /* * Retreat _logSegNo using the current end of xlog replayed or received, * whichever is later. */ receivePtr = GetWalRcvFlushRecPtr(NULL, NULL); replayPtr = GetXLogReplayRecPtr(&replayTLI); endptr = (receivePtr < replayPtr) ? replayPtr : receivePtr; KeepLogSeg(endptr, &_logSegNo); ... } -- With Regards, Amit Kapila.