From d1d0fe1feb23e76daa6c3e0ea995b927dcf4cfe3 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 31 Aug 2024 14:32:08 +1200 Subject: [PATCH] Stabilize 039_end_of_wal test. 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 Reported-by: Nathan Bossart Reviewed-by: Tom Lane Reviewed-by: Nathan Bossart Discussion: https://postgr.es/m/b26aeac2-cb6d-4633-a7ea-945baae83dcf%40postgrespro.ru --- src/test/recovery/t/039_end_of_wal.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index 2013e663a31..58327359bb4 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -257,6 +257,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;