Fix instability in subscription regression test.

005_encoding.pl neglected to wait for the subscriber's initial
synchronization to happen.  While we have not seen this fail in
the buildfarm, it's pretty easy to demonstrate there's an issue
by hacking logicalrep_worker_launch() to fail most of the time.

Michael Paquier

Discussion: https://postgr.es/m/27032.1505749806@sss.pgh.pa.us
This commit is contained in:
Tom Lane 2017-09-20 11:28:34 -04:00
parent 36b564c648
commit 4939488af9
1 changed files with 6 additions and 0 deletions

View File

@ -41,6 +41,12 @@ $node_subscriber->safe_psql('postgres',
wait_for_caught_up($node_publisher, $appname);
# Wait for initial sync to finish as well
my $synced_query =
"SELECT count(1) = 0 FROM pg_subscription_rel WHERE srsubstate NOT IN ('s', 'r');";
$node_subscriber->poll_query_until('postgres', $synced_query)
or die "Timed out while waiting for subscriber to synchronize data";
$node_publisher->safe_psql('postgres',
q{INSERT INTO test1 VALUES (1, E'Mot\xc3\xb6rhead')}); # hand-rolled UTF-8