diff options
author | Masahiko Sawada | 2023-09-08 13:50:59 +0000 |
---|---|---|
committer | Masahiko Sawada | 2023-09-08 13:50:59 +0000 |
commit | 28ed5ecbe07121fd55d081e5be1f297a6177c779 (patch) | |
tree | aa8dc4bde50b3df7efeecf3280fe80b74f09d109 | |
parent | 5a3423ad8ee171fbf08317917981effe47d211eb (diff) |
Stabilize subscription stats test.
The new test added by commit 68a59f9e9 disables the subscription and
manually drops the associated replication slot. However, since
disabling the subsubscription doesn't wait for a walsender to release
the replication slot and exit, pg_drop_replication_slot() could
fail. Avoid failure by adding a wait for the replication slot to
become inactive.
Reported-by: Hou Zhijie, as per buildfarm
Reviewed-by: Hou Zhijie
Discussion: https://postgr.es/m/OS0PR01MB571682316378379AA34854F694E9A%40OS0PR01MB5716.jpnprd01.prod.outlook.com
Backpatch-through: 15
-rw-r--r-- | src/test/subscription/t/026_stats.pl | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/test/subscription/t/026_stats.pl b/src/test/subscription/t/026_stats.pl index 0bcda006cd7..a033588008f 100644 --- a/src/test/subscription/t/026_stats.pl +++ b/src/test/subscription/t/026_stats.pl @@ -285,6 +285,14 @@ is( $node_subscriber->safe_psql( $db, qq(SELECT pg_stat_have_stats('subscription', 0, $sub2_oid))), qq(f), qq(Subscription stats for subscription '$sub2_name' should be removed.)); + +# Since disabling subscription doesn't wait for walsender to release the replication +# slot and exit, wait for the slot to become inactive. +$node_publisher->poll_query_until( + $db, + qq(SELECT EXISTS (SELECT 1 FROM pg_replication_slots WHERE slot_name = '$sub2_name' AND active_pid IS NULL)) +) or die "slot never became inactive"; + $node_publisher->safe_psql($db, qq(SELECT pg_drop_replication_slot('$sub2_name'))); |