mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix cfbot failure caused by commit 228c370868
.
Ensure the test waits for the apply worker to exit after disabling the subscription. This is necessary to safely enable the retain_dead_tuples option. Also added a similar wait in another part of the test to prevent unintended apply worker activity that could lead to test failures post-subscription disable. Reported by Michael Paquier as per cfbot. Author: Zhijie Hou <houzj.fnst@fujitsu.com> Discussion: https://postgr.es/m/aIGLgfRJIBwExoPj@paquier.xyz
This commit is contained in:
@ -228,6 +228,11 @@ ok( $stderr =~
|
||||
# Disable the subscription
|
||||
$node_A->psql('postgres', "ALTER SUBSCRIPTION $subname_AB DISABLE;");
|
||||
|
||||
# Wait for the apply worker to stop
|
||||
$node_A->poll_query_until('postgres',
|
||||
"SELECT count(*) = 0 FROM pg_stat_activity WHERE backend_type = 'logical replication apply worker'"
|
||||
);
|
||||
|
||||
# Enable retain_dead_tuples for disabled subscription
|
||||
($cmdret, $stdout, $stderr) = $node_A->psql('postgres',
|
||||
"ALTER SUBSCRIPTION $subname_AB SET (retain_dead_tuples = true);");
|
||||
@ -278,6 +283,11 @@ is($result, qq(1|1
|
||||
# Disable the logical replication from node B to node A
|
||||
$node_A->safe_psql('postgres', "ALTER SUBSCRIPTION $subname_AB DISABLE");
|
||||
|
||||
# Wait for the apply worker to stop
|
||||
$node_A->poll_query_until('postgres',
|
||||
"SELECT count(*) = 0 FROM pg_stat_activity WHERE backend_type = 'logical replication apply worker'"
|
||||
);
|
||||
|
||||
$node_B->safe_psql('postgres', "UPDATE tab SET b = 3 WHERE a = 1;");
|
||||
$node_A->safe_psql('postgres', "DELETE FROM tab WHERE a = 1;");
|
||||
|
||||
|
Reference in New Issue
Block a user