summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-10-19 20:36:05 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-10-19 20:36:05 +0300
commit1066312a12023d2558eecde84739c4bbb60eb509 (patch)
treeee2f5b7393a6e28d1e5b02f7d0e34d15a8c71596 /extra
parentf4f00e7c408a1e6603f5dac7f6fae83df50cad96 (diff)
downloadmariadb-git-1066312a12023d2558eecde84739c4bbb60eb509.tar.gz
MDEV-23982: Mariabackup hangs on backup
MDEV-13318 introduced a condition to Mariabackup that can cause it to hang if the server goes idle after writing a log block that has no payload after the 12-byte header. Normal recovery in log0recv.cc would allow blocks with exactly 12 bytes of length, and only reject blocks where the length field is shorter than that.
Diffstat (limited to 'extra')
-rw-r--r--extra/mariabackup/xtrabackup.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 33a64356366..162efebbd9f 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -2723,7 +2723,7 @@ static lsn_t xtrabackup_copy_log(lsn_t start_lsn, lsn_t end_lsn, bool last)
scanned_lsn += data_len;
} else if (data_len
>= OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE
- || data_len <= LOG_BLOCK_HDR_SIZE) {
+ || data_len < LOG_BLOCK_HDR_SIZE) {
/* We got a garbage block (abrupt end of the log). */
msg(0,"garbage block: " LSN_PF ",%zu",scanned_lsn, data_len);
break;