Re: pgsql: Preserve conflict-relevant data during logical replication.

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Amit Kapila <akapila(at)postgresql(dot)org>, "pgsql-committers(at)lists(dot)postgresql(dot)org" <pgsql-committers(at)lists(dot)postgresql(dot)org>
Subject: Re: pgsql: Preserve conflict-relevant data during logical replication.
Date: 2025-07-24 03:44:31
Message-ID: CAA4eK1KxzPjXnkSVGemMev-m+Xisb7+R+upu835f7JV=Q-8pug@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Thu, Jul 24, 2025 at 8:27 AM Zhijie Hou (Fujitsu)
<houzj(dot)fnst(at)fujitsu(dot)com> wrote:
>
> On Thursday, July 24, 2025 9:25 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> >
> > On Wed, Jul 23, 2025 at 03:35:06AM +0000, Amit Kapila wrote:
> > > Preserve conflict-relevant data during logical replication.
> > >
> > > Logical replication requires reliable conflict detection to maintain
> > > data consistency across nodes. To achieve this, we must prevent
> > > premature removal of tuples deleted by other origins and their
> > > associated commit_ts data by VACUUM, which could otherwise lead to
> > > incorrect conflict reporting and resolution.
> >
> > Some of the tests added by this commit are causing blurps in the CI:
> > https://cfbot.cputube.org/highlights/all.html
> >
...
>
> I confirmed that the test to enable the retain_dead_tuples option for a
> disabled subscription failed due to the apply worker for that subscription still
> running, which caused the all subsequent tests to fail. To resolve this issue,
> we need to ensure the apply worker has stopped when disabling the subscription.
>
> > 2025-07-23 21:15:03.128 UTC client backend[39133] 035_conflicts.pl LOG: statement: ALTER SUBSCRIPTION tap_sub_a_b SET (retain_dead_tuples = true);
> > 2025-07-23 21:15:03.128 UTC client backend[39133] 035_conflicts.pl ERROR: cannot alter retain_dead_tuples when logical replication worker is still running
>
> Attached is a patch to address this problem. Apart from the reported failure,
> there's another place where we did not wait for the worker to stop after
> disabling the subscription. Although this hasn't resulted in a test failure so
> far, I added wait logic for it in the patch as well for safety.
>

The fix looks good to me. I'll push your patch in sometime.

--
With Regards,
Amit Kapila.

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2025-07-24 04:04:42 pgsql: Fix cfbot failure caused by commit 228c370868.
Previous Message Zhijie Hou (Fujitsu) 2025-07-24 02:57:10 RE: pgsql: Preserve conflict-relevant data during logical replication.