On Mon, Aug 30, 2021 at 7:52 PM Amit Kapila <amit.kapil...@gmail.com> wrote:
> Isn't it better to check the streaming state when we are fetching > oldpid? If we don't add, then I suspect that the next time someone > adding tests on similar lines might get confused about where to check > the state and where not. Also, if you agree, add some comments before > the test on why it is important to check states. > > For ex., in below queries, the queries used for $oldpid. > my $oldpid = $node_publisher->safe_psql('postgres', > "SELECT pid FROM pg_stat_replication WHERE application_name = > 'tap_sub';" > ); > $node_subscriber->safe_psql('postgres', > "ALTER SUBSCRIPTION tap_sub CONNECTION '$publisher_connstr > sslmode=disable'" > ); > $node_publisher->poll_query_until('postgres', > "SELECT pid != $oldpid FROM pg_stat_replication WHERE > application_name = 'tap_sub' AND state = 'streaming';" > ) or die "Timed out while waiting for apply to restart"; > > $oldpid = $node_publisher->safe_psql('postgres', > "SELECT pid FROM pg_stat_replication WHERE application_name = > 'tap_sub';" > ); > $node_subscriber->safe_psql('postgres', > "ALTER SUBSCRIPTION tap_sub SET PUBLICATION tap_pub_ins_only > WITH (copy_data = false)" > ); > $node_publisher->poll_query_until('postgres', > "SELECT pid != $oldpid FROM pg_stat_replication WHERE > application_name = 'tap_sub' AND state = 'streaming';" > I have made the above changes on HEAD. regards, Ajin Cherian Fujitsu Australia
v3-0001-Fix-the-random-test-failure-in-001_rep_changes.patch
Description: Binary data