From 59be1c942a47f6c8a4c47d242200fbbf4be59b88 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Fri, 29 Jul 2022 12:50:47 +0200 Subject: [PATCH] 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 Reported-by: Matthias van de Meent Discussion: https://postgr.es/m/CAEze2Wj5nau_qpjbwihvmXLfkAWOZ5TKdbnqOc6nKSiRJEoPyQ@mail.gmail.com --- src/test/recovery/t/033_replay_tsp_drops.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/test/recovery/t/033_replay_tsp_drops.pl b/src/test/recovery/t/033_replay_tsp_drops.pl index 9b74cb09ac3..7cd55742fc0 100644 --- a/src/test/recovery/t/033_replay_tsp_drops.pl +++ b/src/test/recovery/t/033_replay_tsp_drops.pl @@ -26,6 +26,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); @@ -40,10 +41,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[