Re: Single transaction in the tablesync worker?

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Ajin Cherian <itsajin@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-01-23T04:15:58Z
Lists: pgsql-hackers
On Sat, Jan 23, 2021 at 8:37 AM Ajin Cherian <itsajin@gmail.com> wrote:
>
> On Thu, Jan 21, 2021 at 9:17 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> > 7.
> > +# check for occurrence of the expected error
> > +poll_output_until("replication slot \"$slotname\" already exists")
> > +    or die "no error stop for the pre-existing origin";
> >
> > In this test, isn't it better to check for datasync state like below?
> > 004_sync.pl has some other similar test.
> > my $started_query = "SELECT srsubstate = 'd' FROM pg_subscription_rel;";
> > $node_subscriber->poll_query_until('postgres', $started_query)
> >   or die "Timed out while waiting for subscriber to start sync";
> >
> > Is there a reason why we can't use the existing way to check for
> > failure in this case?
>
> Since the new design now uses temporary slots, is this test case still
> required?
>

I think so. But do you have any reason to believe that it won't be
required anymore?

-- 
With Regards,
Amit Kapila.



Commits

  1. Fix relcache reference leak introduced by ce0fdbfe97.

  2. Fix Subscription test added by commit ce0fdbfe97.

  3. Allow multiple xacts during table sync in logical replication.

  4. Logical replication support for initial data copy