From 8f4dfcd8e6a1ba70b3d87f8fa30b716a75cb085d Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Tue, 8 Sep 2026 16:48:29 +0900 Subject: [PATCH] Stabilize 026_overwrite_contrecord test On slow machines, this test can take long enough to generate WAL that a time-based checkpoint occurs before the primary is stopped. If the checkpoint record is written to the tail WAL segment that the test later removes, a standby initialized from the resulting backup tries to read the missing checkpoint record and fails with a PANIC during startup. This caused the test to fail on buildfarm member skink. Fix this by setting checkpoint_timeout high enough to prevent unrelated checkpoints during the test. This follows the approach used by other recovery tests, such as 043_no_contrecord_switch.pl, that depend on a specific WAL layout. Backpatch to all supported versions. Reported-by: Alexander Lakhin Author: Fujii Masao Discussion: https://postgr.es/m/CAHGQGwFajfjKhvNSTkTcE-wFn30p_A0_i1cvk-Q=FJhDr_5cXA@mail.gmail.com Discussion: https://postgr.es/m/9ffdb19a-7a89-424e-925a-dd981c37f0ba@gmail.com Backpatch-through: 14 --- src/test/recovery/t/026_overwrite_contrecord.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/test/recovery/t/026_overwrite_contrecord.pl b/src/test/recovery/t/026_overwrite_contrecord.pl index f408d4f69b6..eb3493c4e8a 100644 --- a/src/test/recovery/t/026_overwrite_contrecord.pl +++ b/src/test/recovery/t/026_overwrite_contrecord.pl @@ -17,10 +17,13 @@ use Test::More; my $node = PostgreSQL::Test::Cluster->new('primary'); $node->init(allows_streaming => 1); -# We need these settings for stability of WAL behavior. +# We need these settings for stability of WAL behavior. checkpoint_timeout +# avoids noise from checkpoint activity, and autovacuum is disabled to avoid +# any WAL activity generated by it. $node->append_conf( 'postgresql.conf', qq( autovacuum = off +checkpoint_timeout = '30min' wal_keep_size = 1GB )); $node->start;