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