Re: Handle infinite recursion in logical replication setup

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: vignesh C <vignesh21(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>, Peter Smith <smithpb2250(at)gmail(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-05 08:29:28
Message-ID: CAA4eK1JAh9KCmzPFPA47xVp8esRw_eNC0H9tgyFiw5Lq3sUrCg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jul 4, 2022 at 11:33 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
> On Mon, Jul 4, 2022 at 7:44 PM Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> >
> > > From d8f8844f877806527b6f3f45320b6ba55a8e3154 Mon Sep 17 00:00:00 2001
> > > From: Vigneshwaran C <vignesh21(at)gmail(dot)com>
> > > Date: Thu, 26 May 2022 19:29:33 +0530
> > > Subject: [PATCH v27 1/4] Add a missing test to verify only-local parameter in
> > > test_decoding plugin.
> > >
> > > Add a missing test to verify only-local parameter in test_decoding plugin.
> >
> > I don't get it. replorigin.sql already has some lines to test
> > local-only. What is your patch adding that is new? Maybe instead of
> > adding some more lines at the end of the script, you should add lines
> > where this stuff is already being tested. But that assumes that there
> > is something new that is being tested; if so what is it?
>
> The test is to check that remote origin data (i.e. replication origin
> being set) will be filtered when only-local parameter is set. I felt
> that this scenario is not covered, unless I'm missing something.
>

If we change only-local option to '0' in the below part of the test,
we can see a different result:
-- and magically the replayed xact will be filtered!
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL,
NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local',
'1');

So, I think only-local functionality is being tested but I feel your
test is clear in the sense that it clearly shows that remote data can
only be fetched with 'only-local' as '0' when the origin is set. It
seems to me that in existing tests, we are not testing the combination
where the origin is set and 'only-local' is '0'. So, there is some
value to having the test you are proposing but if Alvaro, you, or
others don't think it is worth adding a new test for it then we can
probably drop this one.

--
With Regards,
Amit Kapila.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2022-07-05 08:29:57 Wrong provolatile value for to_timestamp (1 argument)
Previous Message houzj.fnst@fujitsu.com 2022-07-05 08:28:05 RE: Support logical replication of DDLs