diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2018-09-06 15:31:29 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2018-09-06 15:31:29 +0100 |
commit | a0631e72210931182e950734b73c7a090c637261 (patch) | |
tree | 6b59646c0123b89a0261107d32a8531fc40d56a3 | |
parent | 67b87e1d76a3ecaacb1606d8ddcc1f67f4b7faf6 (diff) | |
download | mariadb-git-a0631e72210931182e950734b73c7a090c637261.tar.gz |
MDEV-17149 mariabackup hangs if innodb is not started
Fix exit condition for the log copying thread.
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 2 | ||||
-rw-r--r-- | mysql-test/suite/mariabackup/skip_innodb.opt | 1 | ||||
-rw-r--r-- | mysql-test/suite/mariabackup/skip_innodb.result | 10 | ||||
-rw-r--r-- | mysql-test/suite/mariabackup/skip_innodb.test | 12 |
4 files changed, 24 insertions, 1 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index d9397b001b7..1b295cead7c 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -2718,7 +2718,7 @@ static os_thread_ret_t log_copying_thread(void*) log_mutex_enter(); bool completed = metadata_to_lsn - && metadata_to_lsn < log_copy_scanned_lsn; + && metadata_to_lsn <= log_copy_scanned_lsn; log_mutex_exit(); if (completed) { break; diff --git a/mysql-test/suite/mariabackup/skip_innodb.opt b/mysql-test/suite/mariabackup/skip_innodb.opt new file mode 100644 index 00000000000..213331f5575 --- /dev/null +++ b/mysql-test/suite/mariabackup/skip_innodb.opt @@ -0,0 +1 @@ +--loose-skip-innodb
\ No newline at end of file diff --git a/mysql-test/suite/mariabackup/skip_innodb.result b/mysql-test/suite/mariabackup/skip_innodb.result new file mode 100644 index 00000000000..0d56b55bf4b --- /dev/null +++ b/mysql-test/suite/mariabackup/skip_innodb.result @@ -0,0 +1,10 @@ +CREATE TABLE t(i int); +INSERT INTO t VALUES(1); +# shutdown server +# remove datadir +# xtrabackup move back +# restart server +SELECT * from t; +i +1 +DROP TABLE t; diff --git a/mysql-test/suite/mariabackup/skip_innodb.test b/mysql-test/suite/mariabackup/skip_innodb.test new file mode 100644 index 00000000000..14e4bc007f6 --- /dev/null +++ b/mysql-test/suite/mariabackup/skip_innodb.test @@ -0,0 +1,12 @@ +let $targetdir=$MYSQLTEST_VARDIR/tmp/backup; +CREATE TABLE t(i int); +INSERT INTO t VALUES(1); +--disable_result_log +exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir; +exec $XTRABACKUP --prepare --target-dir=$targetdir; +-- source include/restart_and_restore.inc +--enable_result_log +SELECT * from t; +DROP TABLE t; + +rmdir $targetdir;
\ No newline at end of file |