From: Magnus Hagander Date: Mon, 11 Nov 2013 13:34:06 +0000 (+0100) Subject: Don't abort pg_basebackup when receiving empty WAL block X-Git-Tag: REL9_2_6~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6ec8793aa59d1842082e14b4b4aae7d4bd883fd;p=postgresql 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. --- 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);