Skip to content

Commit 63c5df1

Browse files
author
Amit Kapila
committed
Fix a random failure in 003_logical_slots.pl.
The failed test was trying to validate that the two_phase option for a slot is retained after the upgrade. The problem was that it didn't get enabled before the upgrade so expecting to be enabled after the upgrade was not right in the first place. This is a timing issue because we enable the two_phase once the initial sync for all the tables is finished. Normally, we wait for the two_phase state to be enabled but this test missed that step. Per buildfarm. Author: Hayato Kuroda Discussion: https://postgr.es/m/TY3PR01MB98892396D1071FC4320D6B31F586A@TY3PR01MB9889.jpnprd01.prod.outlook.com
1 parent a86c61c commit 63c5df1

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/bin/pg_upgrade/t/003_logical_slots.pl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,12 @@
163163
]);
164164
$sub->wait_for_subscription_sync($oldpub, 'regress_sub');
165165

166+
# Also wait for two-phase to be enabled
167+
my $twophase_query =
168+
"SELECT count(1) = 0 FROM pg_subscription WHERE subtwophasestate NOT IN ('e');";
169+
$sub->poll_query_until('postgres', $twophase_query)
170+
or die "Timed out while waiting for subscriber to enable twophase";
171+
166172
# 2. Temporarily disable the subscription
167173
$sub->safe_psql('postgres', "ALTER SUBSCRIPTION regress_sub DISABLE");
168174
$oldpub->stop;

0 commit comments

Comments
 (0)