From 84508d4f688ef540382480bdf000955c315edd87 Mon Sep 17 00:00:00 2001 From: anastasia Date: Mon, 24 May 2021 12:14:09 +0300 Subject: [PATCH] fix replay of nextMulti and nextMultiOffset fields --- pageserver/src/waldecoder.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pageserver/src/waldecoder.rs b/pageserver/src/waldecoder.rs index e737ca6066..375bd6470a 100644 --- a/pageserver/src/waldecoder.rs +++ b/pageserver/src/waldecoder.rs @@ -1068,10 +1068,12 @@ pub fn decode_wal_record(checkpoint: &mut CheckPoint, record: Bytes) -> DecodedW blocks.push(blk); } if xlrec.mid > checkpoint.nextMulti { - checkpoint.nextMulti = xlrec.mid; + // See MultiXactAdvanceNextMXact in postgres code + checkpoint.nextMulti = xlrec.mid + 1; } if xlrec.moff > checkpoint.nextMultiOffset { - checkpoint.nextMultiOffset = xlrec.moff; + // See MultiXactAdvanceNextMXact in postgres code + checkpoint.nextMultiOffset = xlrec.moff + xlrec.nmembers; } let max_xid = xlrec .members