From b4f584f9d2a1b50d1f5ce88408a54bb11f1c8353 Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Thu, 15 Sep 2022 06:45:23 -0700 Subject: [PATCH] Reset InstallXLogFileSegmentActive after walreceiver self-initiated exit. After commit cc2c7d65fc27e877c9f407587b0b92d46cd6dd16 added this flag, failure to reset it caused assertion failures. In non-assert builds, it made the system fail to achieve the objectives listed in that commit; chiefly, we might emit a spurious log message. Back-patch to v15, where that commit first appeared. Bharath Rupireddy and Kyotaro Horiguchi. Reviewed by Dilip Kumar, Nathan Bossart and Michael Paquier. Reported by Dilip Kumar. Discussion: https://postgr.es/m/CAFiTN-sE3ry=ycMPVtC+Djw4Fd7gbUGVv_qqw6qfzp=JLvqT3g@mail.gmail.com --- src/backend/access/transam/xlogrecovery.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index 30661bdad6..b41e682664 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -3535,8 +3535,7 @@ WaitForWALToBecomeAvailable(XLogRecPtr RecPtr, bool randAccess, * walreceiver is not active, so that it won't overwrite * WAL that we restore from archive. */ - if (WalRcvStreaming()) - XLogShutdownWalRcv(); + XLogShutdownWalRcv(); /* * Before we sleep, re-scan for possible new timelines if