Reset InstallXLogFileSegmentActive after walreceiver self-initiated exit.

After commit cc2c7d65fc 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
This commit is contained in:
Noah Misch 2022-09-15 06:45:23 -07:00
parent 7beda87b6a
commit b4f584f9d2
1 changed files with 1 additions and 2 deletions

View File

@ -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