Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Stabilize 039_end_of_wal test.
authorThomas Munro <tmunro@postgresql.org>
Sat, 31 Aug 2024 02:32:08 +0000 (14:32 +1200)
committerThomas Munro <tmunro@postgresql.org>
Sat, 31 Aug 2024 03:00:09 +0000 (15:00 +1200)
The first test was sensitive to the insert LSN after setting up the
catalogs, which depended on environmental things like the locales on the
OS and usernames.  Switch to a new WAL file before the first test, as a
simple way to put every computer into the same state.

Back-patch to all supported releases.

Reported-by: Anton Voloshin <a.voloshin@postgrespro.ru>
Reported-by: Nathan Bossart <nathandbossart@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Discussion: https://postgr.es/m/b26aeac2-cb6d-4633-a7ea-945baae83dcf%40postgrespro.ru

src/test/recovery/t/039_end_of_wal.pl

index f9acc83c7d09286cf155519356a0eee288a4a8de..349bd44b7266dbf96373286010a42bf3451a5f62 100644 (file)
@@ -251,6 +251,12 @@ $WAL_BLOCK_SIZE = get_int_setting($node, 'wal_block_size');
 $TLI = $node->safe_psql('postgres',
    "SELECT timeline_id FROM pg_control_checkpoint();");
 
+# Initial LSN may vary across systems due to different catalog contents set up
+# by initdb.  Switch to a new WAL file so all systems start out in the same
+# place.  The first test depends on trailing zeroes on a page with a valid
+# header.
+$node->safe_psql('postgres', "SELECT pg_switch_wal();");
+
 my $end_lsn;
 my $prev_lsn;