summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-12-29 11:05:26 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-12-29 11:05:26 +0200
commit0b73b96f9d3e6de66f2d2a4156b168187ed4d021 (patch)
tree001cb4a06732cfc4f06532f5ea0627dfcb7fbc74
parent33caaba5c81f47246052bf3ac6faca2c3a351b19 (diff)
parent68143c8905352361c30595864a90f494d9a3d99f (diff)
downloadmariadb-git-0b73b96f9d3e6de66f2d2a4156b168187ed4d021.tar.gz
Merge 10.1 into 10.2
-rw-r--r--extra/mariabackup/xtrabackup.cc9
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-debug.result9
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-debug.test24
3 files changed, 27 insertions, 15 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 9646e0eac03..f86395e494f 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -6515,3 +6515,12 @@ static int get_exepath(char *buf, size_t size, const char *argv0)
return my_realpath(buf, argv0, 0);
}
+
+
+#if defined (__SANITIZE_ADDRESS__) && defined (__linux__)
+/* Avoid LeakSanitizer's false positives. */
+const char* __asan_default_options()
+{
+ return "detect_leaks=0";
+}
+#endif
diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result
index 2de5288132a..ee5e681a991 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result
@@ -89,13 +89,12 @@ INSERT INTO t1 SELECT NULL, i FROM t1;
INSERT INTO t1 SELECT NULL, i FROM t1;
LOCK TABLE t1 READ;
connect con1,localhost,root,,test;
-SET max_statement_time= 1;
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
-ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
-SET DEBUG_SYNC = 'now SIGNAL stop_waining';
+connection default;
+kill query @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
disconnect con1;
connection default;
-SET DEBUG_SYNC = 'now WAIT_FOR stop_waining';
UNLOCK TABLES;
DROP TABLE t1;
-SET DEBUG_SYNC = 'RESET';
diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test
index d32faf39aad..3c457294884 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test
@@ -98,9 +98,6 @@ SET DEBUG_SYNC='RESET';
DROP TABLE t1;
-# Wait till all disconnects are completed
---source include/wait_until_count_sessions.inc
-
--echo #
--echo # MDEV-17470 Orphan temporary files after interrupted ALTER
--echo # cause InnoDB: Operating system error number 17 and eventual
@@ -117,14 +114,21 @@ INSERT INTO t1 SELECT NULL, i FROM t1;
LOCK TABLE t1 READ;
--connect (con1,localhost,root,,test)
-SET max_statement_time= 1;
---error ER_STATEMENT_TIMEOUT
-ALTER TABLE t1 FORCE, ALGORITHM=COPY;
-SET DEBUG_SYNC = 'now SIGNAL stop_waining';
---disconnect con1
+let $ID= `SELECT @id := CONNECTION_ID()`;
+send ALTER TABLE t1 FORCE, ALGORITHM=COPY;
--connection default
-SET DEBUG_SYNC = 'now WAIT_FOR stop_waining';
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+let $ignore= `SELECT @id := $ID`;
+kill query @id;
+--connection con1
+--error ER_QUERY_INTERRUPTED
+reap;
+--disconnect con1
+--connection default
UNLOCK TABLES;
DROP TABLE t1;
-SET DEBUG_SYNC = 'RESET';
+
+# Wait till all disconnects are completed
+--source include/wait_until_count_sessions.inc