Re: Fix bug in multixact Oldest*MXactId initialization and access

From: Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>
To: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Andres Freund <andres(at)anarazel(dot)de>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Sami Imseih <samimseih(at)gmail(dot)com>
Subject: Re: Fix bug in multixact Oldest*MXactId initialization and access
Date: 2026-02-25 15:16:27
Message-ID: c3eaaac1-d244-4e4d-b5d7-06c284108eac@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Good day.

Chao Li and Sami Imseih, thank you for looking at.

After thinking a bit, I've decided to make sizes of arrays precise:
- OldestMemberMXactId's size remains MaxBackends + max_prepared_xacts.
Instead of changing its size, procno is now adjusted to not include
auxiliary procs.
- OldestVisibleMXactId contains only MaxBackends elemenents now.
It is used only for real backends and not prepared transactions.

All accesses are validated with asserts certainly.

I believe, index transformation in access of OldestMemberMXactId will not
cost much since all this operations are quite rare.
In the loops arrays are accessed directly since limiting loop index is enough.

--
regards
Yura Sokolov aka funny-falcon

Attachment Content-Type Size
v3-0001-Fix-multixacts-OldestMemberMXactId-and-OldestVisi.patch text/x-patch 9.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2026-02-25 15:43:07 Re: Warning-suppression fixes we ought to back-patch
Previous Message Zsolt Parragi 2026-02-25 15:08:39 Re: Add GoAway protocol message for graceful but fast server shutdown/switchover