Re: Backward movement of confirmed_flush resulting in data duplication.

From: Nisha Moond <nisha(dot)moond412(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>
Subject: Re: Backward movement of confirmed_flush resulting in data duplication.
Date: 2025-05-16 12:08:46
Message-ID: CABdArM6dXmRtLi7tVHgrVQDdhbq8yU6FHP6r5ATNEybP+e8ESw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Tue, May 13, 2025 at 3:48 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
>
> With the given script, the problem reproduces on Head and PG17. We are
> trying to reproduce the issue on PG16 and below where injection points
> are not there.
>

The issue can also be reproduced on PostgreSQL versions 13 through 16.

The same steps shared earlier in the
'reproduce_data_duplicate_without_twophase.sh' script can be used to
reproduce the issue on versions PG14 to PG16.

Since back branches do not support injection points, you can add infinite
loops at the locations where the patch
'v1-0001-Injection-points-to-reproduce-the-confirmed_flush.patch introduces
injection points'. These loops allow holding and releasing processes using
a debugger when needed.

Attached are detailed documents describing the reproduction steps:
1) Use 'reproduce_steps_for_pg14_to_16.txt' for PG14 to PG16.
2) Use 'reproduce_steps_for_pg13.txt' for PG13.

Note: PG13 uses temporary replication slots for tablesync workers, unlike
later versions that use permanent slots. Because of this difference, some
debugger-related steps differ slightly in PG13, which is why a separate
document is provided for it.

--
Thanks,
Nisha

Attachment Content-Type Size
reproduce_steps_for_pg14_to_16.txt text/plain 6.0 KB
reproduce_steps_for_pg13.txt text/plain 6.6 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-05-16 13:01:50 Re: Should we optimize the `ORDER BY random() LIMIT x` case?
Previous Message Fujii Masao 2025-05-16 12:01:24 Re: Assertion failure in smgr.c when using pg_prewarm with partitioned tables