mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
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 <exclusion@gmail.com> Author: Fujii Masao <masao.fujii@gmail.com> 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
This commit is contained in:
@@ -19,10 +19,13 @@ plan tests => 3;
|
||||
|
||||
my $node = PostgresNode->get_new_node('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;
|
||||
|
||||
Reference in New Issue
Block a user