]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix issue in recovery test 041_checkpoint_at_promote
authorMichael Paquier <michael@paquier.xyz>
Wed, 12 Feb 2025 08:58:29 +0000 (17:58 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 12 Feb 2025 08:58:29 +0000 (17:58 +0900)
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

index 905662353da966ab269dd61577cc41ebd1caf2af..e90311ad6cb7fa2b15837fba48fda370be3a940e 100644 (file)
@@ -113,7 +113,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;