Re: Handle infinite recursion in logical replication setup

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, "kuroda(dot)hayato(at)fujitsu(dot)com" <kuroda(dot)hayato(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Handle infinite recursion in logical replication setup
Date: 2022-07-14 13:04:02
Message-ID: CALDaNm3gEsd0KkKfraGe0qRrr1=7BAmgtmZiJUGBXHpZO4-VEg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 14, 2022 at 11:26 AM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
>
> On Wed, Jul 13, 2022 at 4:49 PM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> >
> > On Tue, Jul 12, 2022 at 2:58 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
> > >
> > > On Tue, Jul 12, 2022 at 9:51 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >
> > I find one thing confusing about this patch. Basically, this has two
> > option 'local' and 'any', so I would assume that all the local server
> > changes should be covered under the 'local' but now if we set some
> > origin using 'select pg_replication_origin_session_setup('aa');' then
> > changes from that session will be ignored because it has an origin id.
> > I think actually the name is creating confusion, because by local it
> > seems like a change which originated locally and the document is also
> > specifying the same.
> >
> > + If <literal>local</literal>, the subscription will request the publisher
> > + to only send changes that originated locally. If <literal>any</literal>,
> >
> > I think if we want to keep the option local then we should look up all
> > the origin in the replication origin catalog and identify whether it
> > is a local origin id or remote origin id and based on that filter out
> > the changes.
>
> On the other hand if we are interested in receiving the changes which
> are generated without any origin then I think we should change 'local'
> to 'none' and then in future we can provide a new option which can
> send the changes generated by all the local origin? I think other
> than this the patch LGTM.

Thanks for the comment. The attached v33 patch has the changes to
specify origin as 'none' instead of 'local' which will not publish the
data having any origin.

Regards,
Vignesh

Attachment Content-Type Size
v33-0001-Skip-replication-of-data-having-origin.patch text/x-patch 57.1 KB
v33-0002-Check-and-throw-an-error-if-publication-tables-w.patch text/x-patch 43.1 KB
v33-0003-Document-bidirectional-logical-replication-steps.patch text/x-patch 13.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2022-07-14 13:12:11 Re: Handle infinite recursion in logical replication setup
Previous Message Thomas Munro 2022-07-14 13:02:29 Re: EINTR in ftruncate()