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.