Browse Source
MDEV-14536 : during backup, retry read of log blocks, if there is
MDEV-14536 : during backup, retry read of log blocks, if there is
(possibly intermittent) checksum mismatch.pull/555/head
5 changed files with 94 additions and 28 deletions
-
11extra/mariabackup/xtrabackup.cc
-
14mysql-test/suite/mariabackup/log_checksum_mismatch.result
-
32mysql-test/suite/mariabackup/log_checksum_mismatch.test
-
9storage/innobase/include/log0recv.h
-
56storage/innobase/log/log0recv.cc
@ -0,0 +1,14 @@ |
|||
CREATE TABLE t(i INT) ENGINE INNODB; |
|||
INSERT INTO t VALUES(1); |
|||
# xtrabackup backup |
|||
FOUND 1 /Invalid log block checksum/ in backup.log |
|||
INSERT INTO t VALUES(2); |
|||
# xtrabackup prepare |
|||
# shutdown server |
|||
# remove datadir |
|||
# xtrabackup move back |
|||
# restart server |
|||
SELECT * FROM t; |
|||
i |
|||
1 |
|||
DROP TABLE t; |
@ -0,0 +1,32 @@ |
|||
--source include/have_debug.inc |
|||
|
|||
CREATE TABLE t(i INT) ENGINE INNODB; |
|||
INSERT INTO t VALUES(1); |
|||
echo # xtrabackup backup; |
|||
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup; |
|||
let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log; |
|||
|
|||
--disable_result_log |
|||
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,log_intermittent_checksum_mismatch > $backuplog; |
|||
--enable_result_log |
|||
|
|||
--let SEARCH_RANGE = 10000000 |
|||
--let SEARCH_PATTERN=Invalid log block checksum |
|||
--let SEARCH_FILE=$backuplog |
|||
--source include/search_pattern_in_file.inc |
|||
remove_file $backuplog; |
|||
|
|||
|
|||
INSERT INTO t VALUES(2); |
|||
|
|||
|
|||
echo # xtrabackup prepare; |
|||
--disable_result_log |
|||
exec $XTRABACKUP --prepare --target-dir=$targetdir; |
|||
-- source include/restart_and_restore.inc |
|||
--enable_result_log |
|||
|
|||
SELECT * FROM t; |
|||
DROP TABLE t; |
|||
rmdir $targetdir; |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue