summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Korotkov2024-09-17 19:51:06 +0000
committerAlexander Korotkov2024-09-17 19:51:06 +0000
commit2520226c953c0b443791a185a8d1fb8b71d9fe9e (patch)
treede0514a766c273ce5e99aca85777ee720618cc36
parent85b98b8d5a48092acd03db76a8bf02d9c38c1d79 (diff)
Ensure standby promotion point in 043_wal_replay_wait.pl
This commit ensures standby will be promoted at least at the primary insert LSN we have just observed. We use pg_switch_wal() to force the insert LSN to be written then wait for standby to catchup. Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/1d7b08f2-64a2-77fb-c666-c9a74c68eeda%40gmail.com
-rw-r--r--src/test/recovery/t/043_wal_replay_wait.pl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/test/recovery/t/043_wal_replay_wait.pl b/src/test/recovery/t/043_wal_replay_wait.pl
index b24033ff36e..024f1fe6488 100644
--- a/src/test/recovery/t/043_wal_replay_wait.pl
+++ b/src/test/recovery/t/043_wal_replay_wait.pl
@@ -177,6 +177,12 @@ $psql_session->query_until(
CALL pg_wal_replay_wait('${lsn4}');
]);
+# Make sure standby will be promoted at least at the primary insert LSN we
+# have just observed. Use pg_switch_wal() to force the insert LSN to be
+# written then wait for standby to catchup.
+$node_primary->safe_psql('postgres', 'SELECT pg_switch_wal();');
+$node_primary->wait_for_catchup($node_standby);
+
$log_offset = -s $node_standby->logfile;
$node_standby->promote;
$node_standby->wait_for_log('recovery is not in progress', $log_offset);