035_standby_logical_decoding: Add missing waits for replication
authorAndres Freund <[email protected]>
Tue, 11 Apr 2023 18:17:36 +0000 (11:17 -0700)
committerAndres Freund <[email protected]>
Tue, 11 Apr 2023 18:17:36 +0000 (11:17 -0700)
At least one slow buildfarm system (hoverfly) showed that the database
creation was not replicated before we try to create logical replication slots
on the standby, in that database.

Reported-by: Noah Misch <[email protected]>
Author: "Drouvot, Bertrand" <[email protected]>
Discussion: https://postgr.es/m/20230411053657[email protected]

src/test/recovery/t/035_standby_logical_decoding.pl

index ba98a18bd203eab1f09ac3f8e944410798020b1a..94a8384c31ca6d4d833f7d5809187a0fe81f29bc 100644 (file)
@@ -653,9 +653,15 @@ $node_standby->reload;
 $node_primary->psql('postgres', q[CREATE DATABASE testdb]);
 $node_primary->safe_psql('testdb', qq[CREATE TABLE decoding_test(x integer, y text);]);
 
+# Wait for the standby to catchup before creating the slots
+$node_primary->wait_for_replay_catchup($node_standby);
+
 # create the logical slots
 create_logical_slots($node_standby, 'promotion_');
 
+# Wait for the cascading standby to catchup before creating the slots
+$node_standby->wait_for_replay_catchup($node_cascading_standby, $node_primary);
+
 # create the logical slots on the cascading standby too
 create_logical_slots($node_cascading_standby, 'promotion_');