| 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/
| 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 |