Re: HOT chain validation in verify_heapam()
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Peter Geoghegan <pg@bowt.ie>
Cc: pgsql-hackers@lists.postgresql.org, Himanshu Upadhyaya <upadhyaya.himanshu@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Aleksander Alekseev <aleksander@timescale.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-16T06:55:33Z
Lists: pgsql-hackers
Hi, On 2022-11-14 15:07:05 -0800, Peter Geoghegan wrote: > I'd really like to know if the scary HOT chain freezing scenario is > possible, for the very obvious reason. Have you tried to write a test > case for that? I tried. Unfortunately, even if the bug exists, we currently don't have the infrastructure to write isolationtester tests for it. There's just too many points where we'd need to wait where I don't know of ways to wait with isolationtester. I'm quite certain that it's possible to end up freezing an earlier row versions in a hot chain in < 14, I got there with careful gdb orchestration. Of course possible I screwed something up, given I did it once, interactively. Not sure if trying to fix it is worth the risk of backpatching all the necessary changes to switch to the retry approach. Greetings, Andres Freund
Commits
-
amcheck: Generalize one of the recently-added update chain checks.
- c87aff065c33 16.0 landed
-
amcheck: Tighten up validation of redirect line pointers.
- 80d5e3a61551 16.0 landed
-
amcheck: Fix verify_heapam for tuples where xmin or xmax is 0.
- 8fd5aa76c367 14.8 landed
- 701ec5557968 15.3 landed
- e88754a1965c 16.0 landed
-
amcheck: Fix a few bugs in new update chain validation.
- 949e2e7c4f68 16.0 landed
-
Fix new test case to work on (some?) big-endian architectures.
- c75a623304bc 16.0 landed
-
Don't test HEAP_XMAX_INVALID when freezing xmax.
- 02d647bbf057 16.0 landed