Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Andres Freund <andres@anarazel.de>,
Mark Dilger <mark.dilger@enterprisedb.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2023-05-10T15:44:07Z
Lists: pgsql-hackers
On 12.03.23 00:41, Andres Freund wrote: > Hi, > > On 2023-03-11 15:34:55 -0800, Mark Dilger wrote: >>> On Mar 11, 2023, at 3:22 PM, Andres Freund <andres@anarazel.de> wrote: >>> >>> Something like the attached. >> >> I like that your patch doesn't make the test longer. I assume you've already run the tests and that it works. > > I did check that, yes :). My process of writing perl is certainly, uh, > iterative. No way I would get anything close to working without testing it. > > CI now finished the tests as well: > https://cirrus-ci.com/build/6675457702100992 > > So I'll go ahead and push that. There is a small issue with this commit (a4f23f9b3c). In src/bin/pg_amcheck/t/004_verify_heapam.pl, there is code to detect whether the page layout matches expectations and if not it calls plan skip_all. This commit adds a test is(scalar @lp_off, $ROWCOUNT, "acquired row offsets"); *before* that skip_all call. This appears to be invalid. If the skip_all happens, you get a complaint like t/004_verify_heapam.pl (Wstat: 0 Tests: 1 Failed: 0) Parse errors: Bad plan. You planned 0 tests but ran 1. We could move the is() test after all the skip_all's. Any thoughts?
Commits
-
Fix incorrect TAP test ordering
- 92155e15d3cf 16.0 landed
-
pg_amcheck: Minor test speedups
- a4f23f9b3cdd 16.0 landed
-
amcheck: Fix FullTransactionIdFromXidAndCtx() for xids before epoch 0
- b3a83055c235 14.8 landed
- e8a9750d03d7 15.3 landed
- 4f5d461e048b 16.0 landed
-
amcheck: Fix ordering bug in update_cached_xid_range()
- a42f515d6b45 14.8 landed
- 6d9588108a56 15.3 landed
- 16327240da29 16.0 landed
-
Fix corruption due to vacuum_defer_cleanup_age underflowing 64bit xids
- be504a3e974d 16.0 landed
- 3c92f7e9d851 12.15 landed
- e6d77f22c7a8 13.11 landed
- 324281fd5b1b 14.8 landed
- 391f08fd6804 15.3 landed
-
Add hardening to catch invalid TIDs in indexes.
- e7428a99a13f 15.0 cited
-
Use full 64-bit XID for checking if a deleted GiST page is old enough.
- 6655a7299d83 13.0 cited
-
Avoid early reuse of btree pages, causing incorrect query results.
- d3abbbebe52e 9.2.0 cited