Re: logical: fix recomputation required LSN on restart_lsn-only advancement

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: logical: fix recomputation required LSN on restart_lsn-only advancement
Date: 2026-05-29 22:16:02
Message-ID: ahoPUr0VVOelhiBa@alvherre.pgsql
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2026-Apr-21, Chao Li wrote:

> While reading logical replication code, I found an issue in
> LogicalConfirmReceivedLocation().
>
> In LogicalConfirmReceivedLocation(), updated_restart is tracked
> independently from updated_xmin, and the slot is marked dirty and
> saved when either one changed. But after that,
> ReplicationSlotsComputeRequiredLSN() is still only called inside "if
> (updated_xmin)”.

Have you seen this causing issues in any cases beyond REPACK? I'm
wondering about your suggestion to backpatch this change:

> Looks like this issue has been there for a long time, so if this
> analysis is correct, it may also be worth back-patching.

If REPACK is the only affected party, then we don't need to care; as
Antonin said, the xmin advances frequently enough in other cases, so it
shouldn't normally be a problem ...

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2026-05-29 22:18:41 Re: [Patch] Fix check_pub_rdt bypass when origin is set in same ALTER SUBSCRIPTION
Previous Message Dilip Kumar 2026-05-29 22:06:59 Re: Proposal: Conflict log history table for Logical Replication