Minor cleanup related to pg_wal_replay_wait() procedure
authorAlexander Korotkov <[email protected]>
Tue, 17 Sep 2024 19:50:43 +0000 (22:50 +0300)
committerAlexander Korotkov <[email protected]>
Tue, 17 Sep 2024 19:50:43 +0000 (22:50 +0300)
 * Rename $node_standby1 to $node_standby in 043_wal_replay_wait.pl as there
   is only one standby.
 * Remove useless debug printing in 043_wal_replay_wait.pl.
 * Fix typo in one check description in 043_wal_replay_wait.pl.
 * Fix some wording in comments and documentation.

Reported-by: Alexander Lakhin
Discussion: https://postgr.es/m/1d7b08f2-64a2-77fb-c666-c9a74c68eeda%40gmail.com
Reviewed-by: Alexander Lakhin
doc/src/sgml/func.sgml
src/backend/access/transam/xlog.c
src/backend/commands/waitlsn.c
src/test/recovery/t/043_wal_replay_wait.pl

index 84eb3a45eeac6add77cf635991478842ec2f77a2..6f75bd0c7d25638490421930bac17cfe6c385679 100644 (file)
@@ -29076,7 +29076,7 @@ postgres=# SELECT * FROM movie WHERE genre = 'Drama';
 (0 rows)
    </programlisting>
 
-   It may also happen that target <acronym>lsn</acronym> is not achieved
+   It may also happen that target <acronym>lsn</acronym> is not reached
    within the timeout.  In that case the error is thrown.
 
    <programlisting>
index e96aa4d1cb15ad9a4a10aadd95954207a9d7e130..853ab06812b5676fa3d938435b0cd899b9d1a672 100644 (file)
@@ -6168,7 +6168,7 @@ StartupXLOG(void)
 
    /*
     * Wake up all waiters for replay LSN.  They need to report an error that
-    * recovery was ended before achieving the target LSN.
+    * recovery was ended before reaching the target LSN.
     */
    WaitLSNSetLatches(InvalidXLogRecPtr);
 
index d7065726749ed66369a1ad9ff7d50ae122d06eaf..ffa83a20008b9c8b3d41d216f5499dad72d2d86b 100644 (file)
@@ -299,7 +299,7 @@ WaitForLSNReplay(XLogRecPtr targetLSN, int64 timeout)
        /*
         * If the timeout value is specified, calculate the number of
         * milliseconds before the timeout.  Exit if the timeout is already
-        * achieved.
+        * reached.
         */
        if (timeout > 0)
        {
@@ -325,7 +325,7 @@ WaitForLSNReplay(XLogRecPtr targetLSN, int64 timeout)
    deleteLSNWaiter();
 
    /*
-    * If we didn't achieve the target LSN, we must be exited by timeout.
+    * If we didn't reach the target LSN, we must be exited by timeout.
     */
    if (targetLSN > currentLSN)
    {
index 1234ace1a7804675639618ff7ada5fe59c49e94a..b24033ff36e4d8306f9b9d9189fab9d2944a46dd 100644 (file)
@@ -19,15 +19,15 @@ my $backup_name = 'my_backup';
 $node_primary->backup($backup_name);
 
 # Create a streaming standby with a 1 second delay from the backup
-my $node_standby1 = PostgreSQL::Test::Cluster->new('standby');
+my $node_standby = PostgreSQL::Test::Cluster->new('standby');
 my $delay = 1;
-$node_standby1->init_from_backup($node_primary, $backup_name,
+$node_standby->init_from_backup($node_primary, $backup_name,
    has_streaming => 1);
-$node_standby1->append_conf(
+$node_standby->append_conf(
    'postgresql.conf', qq[
    recovery_min_apply_delay = '${delay}s'
 ]);
-$node_standby1->start;
+$node_standby->start;
 
 # 1. Make sure that pg_wal_replay_wait() works: add new content to
 # primary and memorize primary's insert LSN, then wait for that LSN to be
@@ -36,7 +36,7 @@ $node_primary->safe_psql('postgres',
    "INSERT INTO wait_test VALUES (generate_series(11, 20))");
 my $lsn1 =
   $node_primary->safe_psql('postgres', "SELECT pg_current_wal_insert_lsn()");
-my $output = $node_standby1->safe_psql(
+my $output = $node_standby->safe_psql(
    'postgres', qq[
    CALL pg_wal_replay_wait('${lsn1}', 1000000);
    SELECT pg_lsn_cmp(pg_last_wal_replay_lsn(), '${lsn1}'::pg_lsn);
@@ -52,7 +52,7 @@ $node_primary->safe_psql('postgres',
    "INSERT INTO wait_test VALUES (generate_series(21, 30))");
 my $lsn2 =
   $node_primary->safe_psql('postgres', "SELECT pg_current_wal_insert_lsn()");
-$output = $node_standby1->safe_psql(
+$output = $node_standby->safe_psql(
    'postgres', qq[
    CALL pg_wal_replay_wait('${lsn2}');
    SELECT count(*) FROM wait_test;
@@ -68,9 +68,9 @@ my $lsn3 =
   $node_primary->safe_psql('postgres',
    "SELECT pg_current_wal_insert_lsn() + 10000000000");
 my $stderr;
-$node_standby1->safe_psql('postgres',
+$node_standby->safe_psql('postgres',
    "CALL pg_wal_replay_wait('${lsn2}', 10);");
-$node_standby1->psql(
+$node_standby->psql(
    'postgres',
    "CALL pg_wal_replay_wait('${lsn3}', 1000);",
    stderr => \$stderr);
@@ -88,7 +88,7 @@ $node_primary->psql(
 ok( $stderr =~ /recovery is not in progress/,
    "get an error when running on the primary");
 
-$node_standby1->psql(
+$node_standby->psql(
    'postgres',
    "BEGIN ISOLATION LEVEL REPEATABLE READ; CALL pg_wal_replay_wait('${lsn3}');",
    stderr => \$stderr);
@@ -107,8 +107,8 @@ CREATE FUNCTION pg_wal_replay_wait_wrap(target_lsn pg_lsn) RETURNS void AS \$\$
 LANGUAGE plpgsql;
 ]);
 
-$node_primary->wait_for_catchup($node_standby1);
-$node_standby1->psql(
+$node_primary->wait_for_catchup($node_standby);
+$node_standby->psql(
    'postgres',
    "SELECT pg_wal_replay_wait_wrap('${lsn3}');",
    stderr => \$stderr);
@@ -134,17 +134,16 @@ CREATE FUNCTION log_count(i int) RETURNS void AS \$\$
 \$\$
 LANGUAGE plpgsql;
 ]);
-$node_standby1->safe_psql('postgres', "SELECT pg_wal_replay_pause();");
+$node_standby->safe_psql('postgres', "SELECT pg_wal_replay_pause();");
 my @psql_sessions;
 for (my $i = 0; $i < 5; $i++)
 {
-   print($i);
    $node_primary->safe_psql('postgres',
        "INSERT INTO wait_test VALUES (${i});");
    my $lsn =
      $node_primary->safe_psql('postgres',
        "SELECT pg_current_wal_insert_lsn()");
-   $psql_sessions[$i] = $node_standby1->background_psql('postgres');
+   $psql_sessions[$i] = $node_standby->background_psql('postgres');
    $psql_sessions[$i]->query_until(
        qr/start/, qq[
        \\echo start
@@ -152,11 +151,11 @@ for (my $i = 0; $i < 5; $i++)
        SELECT log_count(${i});
    ]);
 }
-my $log_offset = -s $node_standby1->logfile;
-$node_standby1->safe_psql('postgres', "SELECT pg_wal_replay_resume();");
+my $log_offset = -s $node_standby->logfile;
+$node_standby->safe_psql('postgres', "SELECT pg_wal_replay_resume();");
 for (my $i = 0; $i < 5; $i++)
 {
-   $node_standby1->wait_for_log("count ${i}", $log_offset);
+   $node_standby->wait_for_log("count ${i}", $log_offset);
    $psql_sessions[$i]->quit;
 }
 
@@ -171,25 +170,24 @@ my $lsn4 =
    "SELECT pg_current_wal_insert_lsn() + 10000000000");
 my $lsn5 =
   $node_primary->safe_psql('postgres', "SELECT pg_current_wal_insert_lsn()");
-my $psql_session = $node_standby1->background_psql('postgres');
+my $psql_session = $node_standby->background_psql('postgres');
 $psql_session->query_until(
    qr/start/, qq[
    \\echo start
    CALL pg_wal_replay_wait('${lsn4}');
 ]);
 
-$log_offset = -s $node_standby1->logfile;
-$node_standby1->promote;
-$node_standby1->wait_for_log('recovery is not in progress', $log_offset);
+$log_offset = -s $node_standby->logfile;
+$node_standby->promote;
+$node_standby->wait_for_log('recovery is not in progress', $log_offset);
 
 ok(1, 'got error after standby promote');
 
-$node_standby1->safe_psql('postgres', "CALL pg_wal_replay_wait('${lsn5}');");
+$node_standby->safe_psql('postgres', "CALL pg_wal_replay_wait('${lsn5}');");
 
-ok(1,
-   'wait for already replayed LSN exists immediately even after promotion');
+ok(1, 'wait for already replayed LSN exits immediately even after promotion');
 
-$node_standby1->stop;
+$node_standby->stop;
 $node_primary->stop;
 
 # If we send \q with $psql_session->quit the command can be sent to the session