Re: Handle infinite recursion in logical replication setup

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, vignesh C <vignesh21@gmail.com>, "Jonathan S. Katz" <jkatz@postgresql.org>, Dilip Kumar <dilipbalaut@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, "kuroda.hayato@fujitsu.com" <kuroda.hayato@fujitsu.com>
Date: 2022-08-01T08:51:56Z
Lists: pgsql-hackers
On Mon, Aug 1, 2022 at 1:32 PM Peter Smith <smithpb2250@gmail.com> wrote:
>
> On Mon, Aug 1, 2022 at 3:27 PM shiy.fnst@fujitsu.com
> <shiy.fnst@fujitsu.com> wrote:
> >
> > On Fri, Jul 29, 2022 1:22 PM vignesh C <vignesh21@gmail.com> wrote:
> > >
> > >
> > > Thanks for the comments, the attached v41 patch has the changes for the
> > > same.
> > >
> >
> > Thanks for updating the patch.
> >
> > I wonder in the case that the publisher uses PG15 (or before), subscriber uses
> > PG16, should we have this check (check if publication tables were also
> > subscribing from other publishers)? In this case, even if origin=none is
> > specified, it doesn't work because the publisher doesn't filter the origin. So
> > maybe we don't need the check for initial sync. Thoughts?
> >
>
> IIUC for the scenario you've described (subscription origin=none and
> publisher < PG16) the subscriber can end up getting extra data they
> did not want, right?
>

Yes, because publishers won't have 'filtering based on origin' functionality.

> So instead of just "don't need the check", maybe this combination
> should throw ERROR, or at least a log a WARNING?
>

I am not sure if doing anything (ERROR or WARNING) would make sense
because anyway later during replication there won't be any filtering.

-- 
With Regards,
Amit Kapila.



Commits

  1. Improved CREATE SUBSCRIPTION message for clarity

  2. Fix the test case introduced by commit 8756930190.

  3. Raise a warning if there is a possibility of data from multiple origins.

  4. Add wait_for_subscription_sync for TAP tests.

  5. Bump catversion for commit d8cd0c6c95c0120168df93aae095df4e0682a08a.

  6. Allow users to skip logical replication of data having origin.

  7. Improve two comments related to a boolean DefElem's value

  8. doc: Fix man page whitespace issues