From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Andrey Borodin <amborodin86(at)gmail(dot)com>, Michail Nikolaev <michail(dot)nikolaev(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> |
Subject: | Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE |
Date: | 2023-03-09 00:15:58 |
Message-ID: | 20230309001558.b7shzvio645ebdta@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2023-02-06 13:02:05 -0800, Andres Freund wrote:
> I didn't quite feel confident pushing a fix for this just before a minor
> release, so I'll push once the minor releases are tagged. A quite minimal fix
> to GetFullRecentGlobalXmin() in 12-13 (returning FirstNormalTransactionId if
> epoch == 0 and RecentGlobalXmin > nextxid_xid), and the slightly larger fix in
> 14+.
Pushed that.
Mark:
I worked some more on the fixes for amcheck, and fixes for amcheck.
The second amcheck fix ends up correcting some inaccurate output in the tests
- previously xids from before xid 0 were reported to be in the future.
Previously there was no test case exercising exceeding nextxid, without
wrapping around into the past. I added that at the end of
004_verify_heapam.pl, because renumbering seemed too annoying.
What do you think?
Somewhat random note:
Is it intentional that we VACUUM FREEZE test ROWCOUNT times? That's
effectively O(ROWCOUNT^2), albeit with small enough constants to not really
matter. I don't think we need to insert the rows one-by-one either. Changing
that to a single INSERT and FREEZE shaves 10-12% off the tests. I didn't
change that, but we also fire off a psql for each tuple for heap_page_items(),
with offset $N no less. That seems to be another 500ms.
Greetings,
Andres Freund
Attachment | Content-Type | Size |
---|---|---|
v5-0001-amcheck-Fix-ordering-bug-in-update_cached_xid_ran.patch | text/x-diff | 1.8 KB |
v5-0002-amcheck-Fix-FullTransactionIdFromXidAndCtx-for-xi.patch | text/x-diff | 5.5 KB |
v5-0003-wip-stricter-validation-for-64bit-xids.patch | text/x-diff | 12.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Dean Rasheed | 2023-03-09 00:16:24 | Re: Add error functions: erf() and erfc() |
Previous Message | Nathan Bossart | 2023-03-09 00:13:13 | Re: Add error functions: erf() and erfc() |