Re: amcheck: detect corruption from the recent snapshot-export bug

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
Cc: pgsql-hackers mailing list <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: amcheck: detect corruption from the recent snapshot-export bug
Date: 2026-10-06 12:28:02
Message-ID: 9B06CC00-4F0A-423F-94E4-E3AC1F8C40DF@yandex-team.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Mark,

On 5 Oct 2026, Mark Dilger wrote:
> This also affects HEAP_XMAX_INVALID for committed deletions.

Yesterday in an off-list conversation I replied that: "Users reported
disappearing rows. So I wasn’t looking for emerging rows..."

Coincidentally, another production case reached me today: an old tuple
version has HEAP_XMAX_INVALID set for a committed updater, and VACUUM
fails with "cannot freeze committed xmax", just like in 2024. We have
not yet established whether snapshot export caused it, but likely so.
A cluster at hand has lots of savepoints and exprted snapshots, but
offending rows emerged in May.

That check was in 0002. In the attached v2 I moved it and its tests into
0001, so the first patch covers both invalid hints. I also adjusted the
diagnostic wording.

Thank you!

Best regards, Andrey Borodin.

Attachment Content-Type Size
v2-0001-Detect-incorrect-invalid-transaction-hints-in-ver.patch application/octet-stream 15.2 KB
v2-0002-Detect-incorrect-committed-transaction-hints-in-v.patch application/octet-stream 4.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Vaibhav Dalvi 2026-10-06 12:30:38 Re: remote_apply commit hangs when wal_receiver_status_interval = 0
Previous Message Greg Burd 2026-10-06 12:25:50 Re: Tepid: selective index updates for heap relations