From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Introduce wait_for_subscription_sync for TAP tests |
Date: | 2022-07-26 01:36:39 |
Message-ID: | CAD21AoC-fvAkaKHa4t1urupwL8xbAcWRePeETvshvy80f6WV1A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
In tap tests for logical replication, we have the following code in many places:
$node_publisher->wait_for_catchup('tap_sub');
my $synced_query =
"SELECT count(1) = 0 FROM pg_subscription_rel WHERE srsubstate NOT
IN ('r', 's');";
$node_subscriber->poll_query_until('postgres', $synced_query)
or die "Timed out while waiting for subscriber to synchronize data";
Also, we sometime forgot to check either one, like we fixed in commit
1f50918a6fb02207d151e7cb4aae4c36de9d827c.
I think we can have a new function to wait for all subscriptions to
synchronize data. The attached patch introduce a new function
wait_for_subscription_sync(). With this function, we can replace the
above code with this one function as follows:
$node_subscriber->wait_for_subscription_sync($node_publisher, 'tap_sub');
Regards,
--
Masahiko Sawada
EDB: https://www.enterprisedb.com/
Attachment | Content-Type | Size |
---|---|---|
v1-0001-Introduce-wait_for_subscription_sync-for-TAP-test.patch | application/octet-stream | 40.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Jonathan S. Katz | 2022-07-26 01:43:37 | Re: Handle infinite recursion in logical replication setup |
Previous Message | Masahiko Sawada | 2022-07-26 01:29:25 | Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns |