From 0fc68c8421b656f2ad03e788d97ff0c59da60e6f Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 12 Feb 2025 17:58:25 +0900 Subject: [PATCH] Fix issue in recovery test 041_checkpoint_at_promote The phase of the test waiting for a restartpoint to complete was not working as intended, due to a log_contains() call incorrectly written. The problem reported by the author could be simply reproduced by removing the injection_points_wakeup() call: the test succeeds rather than waiting for the restartpoint completion. In most cases, the restartpoint completion is fast enough that the test offered the wanted coverage. On slow machines, it could have become unreliable. Oversight in 6782709df81f. Author: Nitin Jadhav Discussion: https://postgr.es/m/CAMm1aWa_6u+o52r7h7G6pX-oWD0Qraf0ee17Ma50qxGS0B_Rzg@mail.gmail.com Backpatch-through: 17 --- src/test/recovery/t/041_checkpoint_at_promote.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/recovery/t/041_checkpoint_at_promote.pl b/src/test/recovery/t/041_checkpoint_at_promote.pl index cb301d01427..cc5aa80af40 100644 --- a/src/test/recovery/t/041_checkpoint_at_promote.pl +++ b/src/test/recovery/t/041_checkpoint_at_promote.pl @@ -110,7 +110,7 @@ $node_standby->safe_psql('postgres', my $checkpoint_complete = 0; foreach my $i (0 .. 10 * $PostgreSQL::Test::Utils::timeout_default) { - if ($node_standby->log_contains("restartpoint complete"), $logstart) + if ($node_standby->log_contains("restartpoint complete", $logstart)) { $checkpoint_complete = 1; last;