summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2018-09-06 15:31:29 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2018-09-06 15:31:29 +0100
commita0631e72210931182e950734b73c7a090c637261 (patch)
tree6b59646c0123b89a0261107d32a8531fc40d56a3
parent67b87e1d76a3ecaacb1606d8ddcc1f67f4b7faf6 (diff)
downloadmariadb-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.cc2
-rw-r--r--mysql-test/suite/mariabackup/skip_innodb.opt1
-rw-r--r--mysql-test/suite/mariabackup/skip_innodb.result10
-rw-r--r--mysql-test/suite/mariabackup/skip_innodb.test12
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