On Fri, Mar 6, 2026 at 8:46 AM Fujii Masao <[email protected]> wrote: > > On Thu, Mar 5, 2026 at 5:40 PM Anthonin Bonnefoy > <[email protected]> wrote: > > So it was relying on GetInsertRecPtr() instead of > > GetXLogInsertRecPtr(). As mentioned in the thread, GetInsertRecPtr() > > only returns the position of the last full xlog page, meaning it > > doesn't fix the issue we have where the last partial page contains a > > continuation record. > > > > Testing the XLogFlush(GetInsertRecPtr()) patch with my script, I still > > get the shutdown stuck issue. > > > > Using GetXLogInsertRecPtr() is required to make sure the last partial > > page is correctly flushed. > > Since GetXLogInsertRecPtr() returns a bogus LSN and XLogFlush() does > almost nothing during recovery, I added a !RecoveryInProgress() check > as follows. I've attached the latest version of the patch and updated > the commit message. > > - if (got_STOPPING) > - XLogBackgroundFlush(); > + if (got_STOPPING && !RecoveryInProgress()) > + XLogFlush(GetXLogInsertRecPtr());
I've pushed the patch. Thanks! Regards, -- Fujii Masao
