diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-07-29 12:50:47 +0200 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-07-29 12:50:47 +0200 |
commit | 7cfe688dee86c10ed2622872f5b2f8ca9b1b7c5b (patch) | |
tree | 6cd9a8b1b773d15860002bf1a3a4d10af711aa15 | |
parent | 9a7e26b9c2ac7094f8a7d26cb32a8bc57d28d3f1 (diff) | |
download | postgresql-7cfe688dee86c10ed2622872f5b2f8ca9b1b7c5b.tar.gz postgresql-7cfe688dee86c10ed2622872f5b2f8ca9b1b7c5b.zip |
Fix test instability
On FreeBSD, the new test fails due to a WAL file being removed before
the standby has had the chance to copy it. Fix by adding a replication
slot to prevent the removal until after the standby has connected.
Author: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Reported-by: Matthias van de Meent <boekewurm+postgres@gmail.com>
Discussion: https://postgr.es/m/CAEze2Wj5nau_qpjbwihvmXLfkAWOZ5TKdbnqOc6nKSiRJEoPyQ@mail.gmail.com
-rw-r--r-- | src/test/recovery/t/033_replay_tsp_drops.pl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/test/recovery/t/033_replay_tsp_drops.pl b/src/test/recovery/t/033_replay_tsp_drops.pl index ee6deebf9c7..fb0b6150f27 100644 --- a/src/test/recovery/t/033_replay_tsp_drops.pl +++ b/src/test/recovery/t/033_replay_tsp_drops.pl @@ -24,6 +24,7 @@ sub test_tablespace CREATE TABLESPACE source_ts LOCATION ''; CREATE TABLESPACE target_ts LOCATION ''; CREATE DATABASE template_db IS_TEMPLATE = true; + SELECT pg_create_physical_replication_slot('slot', true); ]); my $backup_name = 'my_backup'; $node_primary->backup($backup_name); @@ -38,10 +39,11 @@ sub test_tablespace # Make sure connection is made $node_primary->poll_query_until('postgres', 'SELECT count(*) = 1 FROM pg_stat_replication'); + $node_primary->safe_psql('postgres', "SELECT pg_drop_replication_slot('slot')"); $node_standby->safe_psql('postgres', 'CHECKPOINT'); - # Do immediate shutdown just after a sequence of CREAT DATABASE / DROP + # Do immediate shutdown just after a sequence of CREATE DATABASE / DROP # DATABASE / DROP TABLESPACE. This causes CREATE DATABASE WAL records # to be applied to already-removed directories. my $query = q[ |