From a3e992fb518f27cd05ecca7aa2df42787f8baebd Mon Sep 17 00:00:00 2001 From: Arseny Sher Date: Mon, 8 Nov 2021 15:59:23 +0300 Subject: [PATCH] Handle keepalives while receiving WAL in recovery. Since c310932 safekeeper sometimes sends it. ref #843 --- src/backend/replication/walproposer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/replication/walproposer.c b/src/backend/replication/walproposer.c index 667d18ba56e..618c8992f57 100644 --- a/src/backend/replication/walproposer.c +++ b/src/backend/replication/walproposer.c @@ -978,7 +978,9 @@ WalProposerRecovery(int donor, TimeLineID timeline, XLogRecPtr startpos, XLogRec } else { - Assert(buf[0] == 'w'); + Assert(buf[0] == 'w' || buf[0] == 'k'); + if (buf[0] == 'k') + continue; /* keepalive */ memcpy(&rec_start_lsn, &buf[XLOG_HDR_START_POS], sizeof rec_start_lsn); rec_start_lsn = pg_ntoh64(rec_start_lsn);