mirror of
https://github.com/postgres/postgres.git
synced 2025-06-01 00:01:20 -04:00
Stablize tests added in 3abe9dc188.
The problem is that after the ALTER SUBSCRIPTION tap_sub SET PUBLICATION command, we didn't wait for the new walsender to start on the publisher. Immediately after ALTER, we performed Insert and expected it to replicate. However, the replication could start from a point after the INSERT location, and as the subscription isn't copying initial data, we could miss such an Insert. The fix is to wait for connection to be established between publisher and subscriber before starting DML operations that are expected to replicate. As per CI. Reported-by: Andres Freund <andres@anarazel.de> Author: Hayato Kuroda <kuroda.hayato@fujitsu.com> Discussion: https://postgr.es/m/CALDaNm2ms1deM5EYNLFEfESv_Kw=Y4AiTB0LP=qGS-UpFwGbPg@mail.gmail.com
This commit is contained in:
parent
058b5152f0
commit
474d7a1fd8
@ -130,16 +130,18 @@ $node_publisher->safe_psql('postgres', qq[
|
||||
CREATE PUBLICATION pub_for_all_tables FOR ALL TABLES;
|
||||
]);
|
||||
$node_subscriber->safe_psql('postgres',
|
||||
"CREATE SUBSCRIPTION tap_sub CONNECTION '$publisher_connstr' PUBLICATION pub_for_tab WITH (copy_data = off)"
|
||||
"CREATE SUBSCRIPTION tap_sub CONNECTION '$publisher_connstr' PUBLICATION pub_for_tab"
|
||||
);
|
||||
$node_subscriber->wait_for_subscription_sync($node_publisher, 'tap_sub');
|
||||
|
||||
# Confirms RENAME command works well for a publication
|
||||
test_swap('test1', 'pub_for_tab', 'tap_sub');
|
||||
|
||||
# Switches a publication which includes all tables
|
||||
$node_subscriber->safe_psql('postgres',
|
||||
"ALTER SUBSCRIPTION tap_sub SET PUBLICATION pub_for_all_tables WITH (refresh = true, copy_data = false);"
|
||||
"ALTER SUBSCRIPTION tap_sub SET PUBLICATION pub_for_all_tables;"
|
||||
);
|
||||
$node_subscriber->wait_for_subscription_sync($node_publisher, 'tap_sub');
|
||||
|
||||
# Confirms RENAME command works well for ALL TABLES publication
|
||||
test_swap('test2', 'pub_for_all_tables', 'tap_sub');
|
||||
|
Loading…
x
Reference in New Issue
Block a user