Re: BUG #19490: Streaming standby on 16.14 stops applying WAL on MultiXactOffsetSLRU when primary is 16.8
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Ayush Tiwari <ayushtiwari.slg01@gmail.com>, Radim Marek <radim@boringsql.com>, Marko Tiikkaja <marko@joh.to>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2026-05-27T00:30:11Z
Lists: pgsql-hackers
On Tue, May 26, 2026 at 11:29:58PM +0500, Andrey Borodin wrote: > On 26 May 2026, at 17:28, Heikki Linnakangas <hlinnaka@iki.fi> wrote: >> looks correct Neither do I see an issue in doing the first steps of RecordNewMultiXact() without holding the lock. The consistency that we get across all the stable branches after this patch makes the whole logic neater. > I observe: > Without the change startup deadlocks. > With the change standby catches up, the DEBUG1 message "next offsets page is not > initialized, initializing it now" confirms the compat block fires correctly. Cool, thanks for the patch and double-checking things, Andrey! I did not check the fix beyond a check-world (aka no cross-version replay done here), but looking closely through the code I don't immediately see why this would be wrong across the v14~v16 range. -- Michael