From c6ec8793aa59d1842082e14b4b4aae7d4bd883fd Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Mon, 11 Nov 2013 14:34:06 +0100 Subject: [PATCH] Don't abort pg_basebackup when receiving empty WAL block This can happen exactly at the switch of a logical WAL file (segment number ending in FE), when running pg_basebackup connected to a standby server, and would cause the backup to abort with the error message "streaming header too small". There is nothing wrong with an empty message, it's just unnecessary, and the rest of the code can handle the case of an empty message, so this patch just removes the error condition when the size is exactly zero. --- src/bin/pg_basebackup/receivelog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c index 98c4b7a1e5..71791d3e29 100644 --- a/src/bin/pg_basebackup/receivelog.c +++ b/src/bin/pg_basebackup/receivelog.c @@ -495,7 +495,7 @@ ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline, progname, copybuf[0]); goto error; } - if (r < STREAMING_HEADER_SIZE + 1) + if (r < STREAMING_HEADER_SIZE) { fprintf(stderr, _("%s: streaming header too small: %d\n"), progname, r);