Re: Fix bug in multixact Oldest*MXactId initialization and access
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Yura Sokolov <y.sokolov@postgrespro.ru>, Sami Imseih
<samimseih@gmail.com>, Chao Li <li.evan.chao@gmail.com>,
"pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-03T16:59:34Z
Lists: pgsql-hackers
Attachments
- v2-0001-Skip-prepared_xacts-test-if-max_prepared_transact.patch (text/x-patch) patch v2-0001
- v2-0002-Add-test-for-row-locking-and-multixids-with-prepa.patch (text/x-patch) patch v2-0002
On 03/03/2026 17:22, Tom Lane wrote: > Heikki Linnakangas <hlinnaka@iki.fi> writes: >> Ok, here's another version of Sami's repro. I realized that it doesn't >> even need concurrent sessions, so I moved it to the main regression test >> suite, into the 'prepared_xacts' test. Looks good? > > Not directly relevant to the thing being tested here, but ... > I wonder if we couldn't reduce future maintenance effort for > prepared_xacts_1.out by modifying that test script to make an > early exit if prepared transactions are disabled. +1, I was just thinking the same. Here's a patch to do that. I'll backpatch this to all supported versions, to make backpatching test changes less painful in the future. - Heikki
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add test for row-locking and multixids with prepared transactions
- 969576dab47b 17.10 landed
- fa3b328e6dc5 18.4 landed
- fe08113aefc9 19 (unreleased) landed
-
Skip prepared_xacts test if max_prepared_transactions < 2
- ffe53037dff7 14.23 landed
- a6b11ac4c42d 15.18 landed
- 65f5c451a3e1 16.14 landed
- 80d1d4ee06fd 17.10 landed
- 201436c19f40 18.4 landed
- 19615a44b3e6 19 (unreleased) landed
-
Fix OldestMemberMXactId and OldestVisibleMXactId array usage
- dcd9c06a4203 17.10 landed
- 0a50ef094382 18.4 landed
- ccae90abdbb6 19 (unreleased) landed
-
Redefine backend ID to be an index into the proc array
- ab355e3a88de 17.0 cited
-
Fix an old bug in multixact and two-phase commit. Prepared transactions can
- cd87b6f8a508 9.0.0 cited