Re: Handle infinite recursion in logical replication setup - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Handle infinite recursion in logical replication setup
Date
Msg-id CAA4eK1+roM1FXZYzpik8H0bpLTxCULp4DhaJGXZAN8uf=nxS-A@mail.gmail.com
Whole thread Raw
In response to Re: Handle infinite recursion in logical replication setup  (vignesh C <vignesh21@gmail.com>)
Responses Re: Handle infinite recursion in logical replication setup
List pgsql-hackers
On Thu, Sep 8, 2022 at 7:57 AM vignesh C <vignesh21@gmail.com> wrote:
>
> There is a buildfarm failure on mylodon at [1] because of the new test
> added. I will analyse and share the findings for the same.
>
> [1] - https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mylodon&dt=2022-09-08%2001%3A40%3A27
>

The log is as below:

error running SQL: 'psql:<stdin>:1: ERROR:  could not drop relation
mapping for subscription "tap_sub_a_b_2"
DETAIL:  Table synchronization for relation "tab_new" is in progress
and is in state "s".
HINT:  Use ALTER SUBSCRIPTION ... ENABLE to enable subscription if not
already enabled or use DROP SUBSCRIPTION ... to drop the
subscription.'
while running 'psql -XAtq -d port=50352 host=/tmp/WMoRd6ngw2
dbname='postgres' -f - -v ON_ERROR_STOP=1' with sql 'DROP TABLE
tab_new' at /mnt/resource/bf/build/mylodon/HEAD/pgsql.build/../pgsql/src/test/perl/PostgreSQL/Test/Cluster.pm
line 1860.
### Stopping node "node_A" using mode immediate

This clearly indicates the problem. We can't drop the relation till it
is marked ready in pg_subscription_rel and prior to dropping, the test
just does $node_A->wait_for_subscription_sync($node_B, $subname_AB2);.
This doesn't ensure that relation is in 'ready' state as it will
finish even when the relation is in 'syncdone' state.

So, I think if we want to drop the tables, we need to poll for 'ready'
state or otherwise, anyway, this is the end of all tests and nodes
won't be reused, so we can remove the clean-up in the end. Any other
ideas?

-- 
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: Handle infinite recursion in logical replication setup
Next
From: John Naylor
Date:
Subject: Re: [PATCH] Clarify the comments about varlena header encoding