]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix test instability
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 29 Jul 2022 10:50:47 +0000 (12:50 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 29 Jul 2022 10:50:47 +0000 (12:50 +0200)
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

src/test/recovery/t/033_replay_tsp_drops.pl

index 9b74cb09ac3f8e528bb0735ed5cdf5d813434360..7cd55742fc078516bec560e8061b2aa2e1b5f3ad 100644 (file)
@@ -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[