Re: Backward movement of confirmed_flush resulting in data duplication.

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: shveta malik <shveta(dot)malik(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>
Subject: Re: Backward movement of confirmed_flush resulting in data duplication.
Date: 2025-05-13 10:52:39
Message-ID: CAFiTN-vdRqZDn7sE5MMYf5isx2Wqk03s1Lt15SH3h6qiAWYkyw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 13, 2025 at 3:48 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
> Hi All,
>
> It is a spin-off thread from earlier discussions at [1] and [2].
>
> While analyzing the slot-sync BF failure as stated in [1], it was
> observed that there are chances that confirmed_flush_lsn may move
> backward depending on the feedback messages received from the
> downstream system. It was suspected that the backward movement of
> confirmed_flush_lsn may result in data duplication issues. Earlier we
> were able to successfully reproduce the issue with two_phase enabled
> subscriptions (see[2]). Now on further analysing, it seems possible
> that data duplication issues may happen without two-phase as well.

Thanks for the detailed explanation. Before we focus on patching the
symptoms, I’d like to explore whether the issue can be addressed on
the subscriber side. Specifically, have we analyzed if there’s a way
to prevent the subscriber from moving the LSN backward in the first
place? That might lead to a cleaner and more robust solution overall.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-05-13 11:04:05 Re: Improve monitoring of shared memory allocations
Previous Message shveta malik 2025-05-13 10:17:55 Backward movement of confirmed_flush resulting in data duplication.