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;