Re: IPC/MultixactCreation on the Standby server
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Dmitry Yurichev <dsy.075@yandex.ru>, Andrey Borodin <x4mmm@yandex-team.ru>, pgsql-hackers@lists.postgresql.org, Ivan Bykov <i.bykov@modernsys.ru>, Kirill Reshke <reshkekirill@gmail.com>
Date: 2025-12-04T14:36:01Z
Lists: pgsql-hackers
On 2025-Dec-04, Heikki Linnakangas wrote: > While working on the 64-bit multixid offsets patch, I noticed one more bug > with this. At offset wraparound, when we set the next multixid's offset in > RecordNewMultiXact, we incorrectly set it to 0 instead of 1. We're supposed > to skip over offset 1, because 0 is reserved to mean invalid. We do that > correctly when setting the "current" multixid's offset, because the caller > of RecordNewMultiXact has already skipped over offset 0, but I missed it for > the next offset. Ouch. > I tried to modify the new wraparound TAP test to reproduce that, but it > turned out to be difficult because you need to have multiple backends > assigning multixids concurrently to hit that. Hmm, would it make sense to add a pgbench-based test on src/test/modules/xid_wraparound? That module is already known to be expensive, and it doesn't run unless explicitly enabled, so I think it's not a bad fit. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix test to work with non-8kB block sizes
- 7c2061bdfba7 19 (unreleased) landed
-
Fix setting next multixid's offset at offset wraparound
- 48969555447f 14.21 landed
- b9a02b9780bc 15.16 landed
- 4d689a17693e 16.12 landed
- cad40cec24f3 17.8 landed
- 02ba5e3be4f3 18.2 landed
- 4d936c3fff1a 19 (unreleased) landed
-
Add test for multixid wraparound
- 7b81be9b4267 19 (unreleased) landed
-
Set next multixid's offset when creating a new multixid
- 81416e1016dd 14.21 landed
- 8cfb174a61eb 15.16 landed
- 635166913078 16.12 landed
- 8ba61bc06386 17.8 landed
- e46041fd973c 18.2 landed
- 789d65364cde 19 (unreleased) landed
-
psql: Improve tab completion for large objects.
- 14ee8e640300 19 (unreleased) cited
-
Refactor some repetitive SLRU code
- c61678551699 19 (unreleased) cited
-
Transaction IDs wrap around, per my proposal of 13-Aug-01. More
- bc7d37a525c0 7.2.1 cited