Re: A failure in t/038_save_logical_slots_shutdown.pl
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-01-11T05:31:52Z
Lists: pgsql-hackers
On Wed, Jan 10, 2024 at 6:37 PM vignesh C <vignesh21@gmail.com> wrote: > > I got the log files from Bharath offline. Thanks Bharath for sharing > the log files offline. > The WAL record sequence is exactly the same in the failing test and > tests which are passing. > One observation in our case the confirmed flush lsn points exactly to > shutdown checkpoint, but in the failing test the lsn pointed is > invalid, pg_waldump says that address is invalid and skips about 24 > bytes and then sees a valid record > > Passing case confirm flush lsn(0/150D158) from my machine: > pg_waldump 000000010000000000000001 -s 0/150D158 > rmgr: XLOG len (rec/tot): 114/ 114, tx: 0, lsn: > 0/0150D158, prev 0/0150D120, desc: CHECKPOINT_SHUTDOWN redo 0/150D158; > tli 1; prev tli 1; fpw true; xid 0:739; oid 16388; multi 1; offset 0; > oldest xid 728 in DB 1; oldest multi 1 in DB 1; oldest/newest commit > timestamp xid: 0/0; oldest running xid 0; shutdown > > Failing case confirm flush lsn( 0/1508000) from failing tests log file: > pg_waldump 000000010000000000000001 -s 0/1508000 > pg_waldump: first record is after 0/1508000, at 0/1508018, skipping > over 24 bytes > rmgr: XLOG len (rec/tot): 114/ 114, tx: 0, lsn: > 0/01508018, prev 0/01507FC8, desc: CHECKPOINT_SHUTDOWN redo 0/1508018; > tli 1; prev tli 1; fpw true; xid 0:739; oid 16388; multi 1; offset 0; > oldest xid 728 in DB 1; oldest multi 1 in DB 1; oldest/newest commit > timestamp xid: 0/0; oldest running xid 0; shutdown > > I'm still not sure why in this case, it is not exactly pointing to a > valid WAL record, it has to skip 24 bytes to find the valid checkpoint > shutdown record. > Can we see the previous record (as pointed out by prev in the WAL record) in both cases? Also, you can see few prior records in both cases. -- With Regards, Amit Kapila.
Commits
-
Fix a random failure in 038_save_logical_slots_shutdown.pl.
- 0b84f5c419a3 17.0 landed
-
Flush logical slots to disk during a shutdown checkpoint if required.
- e0b2eed047df 17.0 cited