From 5a3240cf6b2e9f5fb6befe7e1ac4c0c0464ce3d2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 9 Nov 2021 18:40:19 -0500 Subject: [PATCH] Fix instability in 026_overwrite_contrecord.pl test. We've seen intermittent failures in this test on slower buildfarm machines, which I think can be explained by assuming that autovacuum emitted some additional WAL. Disable autovacuum to stabilize it. In passing, use stringwise not numeric comparison to compare WAL file names. Doesn't matter at present, but they are hex strings not decimal ... Discussion: https://postgr.es/m/1372189.1636499287@sss.pgh.pa.us --- src/test/recovery/t/026_overwrite_contrecord.pl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/test/recovery/t/026_overwrite_contrecord.pl b/src/test/recovery/t/026_overwrite_contrecord.pl index 4fac44e261..cb7f5b68c6 100644 --- a/src/test/recovery/t/026_overwrite_contrecord.pl +++ b/src/test/recovery/t/026_overwrite_contrecord.pl @@ -19,7 +19,12 @@ plan tests => 3; my $node = PostgresNode->get_new_node('primary'); $node->init(allows_streaming => 1); -$node->append_conf('postgresql.conf', 'wal_keep_size=1GB'); +# We need these settings for stability of WAL behavior. +$node->append_conf( + 'postgresql.conf', qq( +autovacuum = off +wal_keep_size = 1GB +)); $node->start; $node->safe_psql('postgres', 'create table filler (a int, b text)'); @@ -58,7 +63,7 @@ $node->safe_psql('postgres', #$node->safe_psql('postgres', qq{create table foo ()}); my $endfile = $node->safe_psql('postgres', 'SELECT pg_walfile_name(pg_current_wal_insert_lsn())'); -ok($initfile != $endfile, "$initfile differs from $endfile"); +ok($initfile ne $endfile, "$initfile differs from $endfile"); # Now stop abruptly, to avoid a stop checkpoint. We can remove the tail file # afterwards, and on startup the large message should be overwritten with new