diff --git a/src/gausskernel/storage/access/transam/xlog.cpp b/src/gausskernel/storage/access/transam/xlog.cpp index ebbe0148f..ac52c889b 100755 --- a/src/gausskernel/storage/access/transam/xlog.cpp +++ b/src/gausskernel/storage/access/transam/xlog.cpp @@ -7433,6 +7433,10 @@ void TruncateAndRemoveXLogForRoachRestore(XLogReaderState *record) XLogRecPtrIsValid(t_thrd.shemem_ptr_cxt.ControlFile->backupStartPoint)) { ereport(FATAL, (errmsg("truncate xlog LSN is before consistent recovery point"))); } + + /* wal receiver and wal receiver writer must be stopped before we truncate xlog */ + ShutdownWalRcv(); + uint32 xlogOff; XLogSegNo xlogsegno; char xlogFileName[1024] = {0};