Hi Alexander, On Thu, Mar 5, 2026 at 7:30 AM Alexander Lakhin <[email protected]> wrote: > Hello Anthonin and Masao-san, > Thank you for working on this! > > It looks like the same issue was discovered and discussed before, but that > time without a final fix: [1]. I tried v5 patch with my > 099_walsender_stop.pl test and it executed 100 internal iterations > successfully, while without the patch it failed for me on iterations 6, 8, 5. > > [1] > https://www.postgresql.org/message-id/flat/f15d665f-4cd1-4894-037c-afdbe369287e%40gmail.com
Thanks for the tests and the additional context. Looking at the the thread, the latest patch provided a similar solution using: + XLogFlush(GetInsertRecPtr()); 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. Regards, Anthonin Bonnefoy
