From: Amit Kapila Date: Thu, 29 Jan 2026 03:22:02 +0000 (+0000) Subject: Fix CI failure introduced in commit 851f6649cc. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a98f989e8e596efb0db942ead90f64800136fac;p=thirdparty%2Fpostgresql.git Fix CI failure introduced in commit 851f6649cc. The test added in commit 851f6649cc uses a backup taken from a node created by the previous test to perform standby related checks. On Windows, however, the standby failed to start with the following error: FATAL: could not rename file "backup_label" to "backup_label.old": Permission denied This occurred because some background sessions from the earlier test were still active. These leftover processes continued accessing the parent directory of the backup_label file, likely preventing the rename and causing the failure. Ensuring that these sessions are cleanly terminated resolves the issue in local testing. Additionally, the has_restoring => 1 option has been removed, as it was not required by the new test. Reported-by: Robert Haas Backpatch-through: 17 Discussion: https://postgr.es/m/CA+TgmobdVhO0ckZfsBZ0wqDO4qHVCwZZx8sf=EinafvUam-dsQ@mail.gmail.com --- diff --git a/src/test/recovery/t/046_checkpoint_logical_slot.pl b/src/test/recovery/t/046_checkpoint_logical_slot.pl index 65f0205bb77..1ecb47a8b58 100644 --- a/src/test/recovery/t/046_checkpoint_logical_slot.pl +++ b/src/test/recovery/t/046_checkpoint_logical_slot.pl @@ -138,6 +138,13 @@ eval { }; is($@, '', "Logical slot still valid"); +# If we send \q with $->quit the command can be sent to the +# session already closed. So \q is in initial script, here we only finish +# IPC::Run +$xacts->{run}->finish; +$checkpoint->{run}->finish; +$logical->{run}->finish; + # Verify that the synchronized slots won't be invalidated immediately after # synchronization in the presence of a concurrent checkpoint. my $primary = $node; @@ -153,8 +160,7 @@ $primary->backup($backup_name); my $standby = PostgreSQL::Test::Cluster->new('standby'); $standby->init_from_backup( $primary, $backup_name, - has_streaming => 1, - has_restoring => 1); + has_streaming => 1); my $connstr_1 = $primary->connstr; $standby->append_conf(