From 2bda624afdb01c0369cd9dba738ef8c428a3919c Mon Sep 17 00:00:00 2001 From: Zardosht Kasheff Date: Tue, 10 Apr 2012 15:35:21 +0000 Subject: [PATCH] [t:4297], add tests to ensure that this works during recovery git-svn-id: file:///svn/mysql/tests/mysql-test@41743 c7de825b-a66e-492c-adef-691d508d4ae1 --- mysql-test/suite/tokudb.bugs/r/xa-3.result | 51 ++++++++++++++ mysql-test/suite/tokudb.bugs/t/xa-3.test | 79 ++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 mysql-test/suite/tokudb.bugs/r/xa-3.result create mode 100644 mysql-test/suite/tokudb.bugs/t/xa-3.test diff --git a/mysql-test/suite/tokudb.bugs/r/xa-3.result b/mysql-test/suite/tokudb.bugs/r/xa-3.result new file mode 100644 index 00000000000..d84dc9dd2a7 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/r/xa-3.result @@ -0,0 +1,51 @@ +drop table if exists t1, t2; +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +SELECT @@log_bin; +@@log_bin +0 +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); +SET SESSION debug="d,crash_commit_before"; +COMMIT; +ERROR HY000: Lost connection to MySQL server during query +select * from t1; +a +select * from t2; +b +drop table t1, t2; +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +SELECT @@log_bin; +@@log_bin +0 +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); +SET SESSION debug="d,crash_commit_after_prepare"; +COMMIT; +ERROR HY000: Lost connection to MySQL server during query +select * from t1; +a +select * from t2; +b +drop table t1, t2; +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +SELECT @@log_bin; +@@log_bin +0 +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); +SET SESSION debug="d,crash_commit_after"; +COMMIT; +ERROR HY000: Lost connection to MySQL server during query +select * from t1; +a +1 +select * from t2; +b +2 +drop table t1, t2; diff --git a/mysql-test/suite/tokudb.bugs/t/xa-3.test b/mysql-test/suite/tokudb.bugs/t/xa-3.test new file mode 100644 index 00000000000..b909d71d8f0 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/t/xa-3.test @@ -0,0 +1,79 @@ +-- source include/have_innodb.inc +-- source include/have_tokudb.inc +--source include/not_5_5.inc + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings + +# +# bug lp:544173, xa crash with two 2pc-capable storage engines without binlog +# + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +# verify that binlog is off +SELECT @@log_bin; +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); + +SET SESSION debug="d,crash_commit_before"; +--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect + +--error 2013 +COMMIT; + +--enable_reconnect + +--source include/wait_until_connected_again.inc +select * from t1; +select * from t2; + +drop table t1, t2; + + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +# verify that binlog is off +SELECT @@log_bin; +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); + +SET SESSION debug="d,crash_commit_after_prepare"; +--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect + +--error 2013 +COMMIT; + +--enable_reconnect + +--source include/wait_until_connected_again.inc +select * from t1; +select * from t2; + +drop table t1, t2; + + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=tokudb; +BEGIN; +# verify that binlog is off +SELECT @@log_bin; +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); + +SET SESSION debug="d,crash_commit_after"; +--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect + +--error 2013 +COMMIT; + +--enable_reconnect + +--source include/wait_until_connected_again.inc +select * from t1; +select * from t2; + +drop table t1, t2;