Browse Source
[t:4297], add test that induces crashes in handlerton
[t:4297], add test that induces crashes in handlerton
git-svn-id: file:///svn/mysql/tests/mysql-test@41755 c7de825b-a66e-492c-adef-691d508d4ae1pull/73/head
2 changed files with 202 additions and 0 deletions
@ -0,0 +1,78 @@ |
|||
drop table if exists t1; |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
a |
|||
1 |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_before"; |
|||
xa prepare 'a','ab'; |
|||
ERROR HY000: Lost connection to MySQL server during query |
|||
xa commit'a','ab'; |
|||
ERROR XAE04: XAER_NOTA: Unknown XID |
|||
drop table t1; |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
a |
|||
1 |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_after"; |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
xa prepare 'a','ab'; |
|||
ERROR HY000: Lost connection to MySQL server during query |
|||
xa commit 'a','ab'; |
|||
select * from t1; |
|||
a |
|||
1 |
|||
drop table t1; |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
a |
|||
1 |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_after"; |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
xa prepare 'a','ab'; |
|||
ERROR HY000: Lost connection to MySQL server during query |
|||
xa rollback 'a','ab'; |
|||
select * from t1; |
|||
a |
|||
drop table t1; |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
a |
|||
1 |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_commit_before"; |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
xa prepare 'a','ab'; |
|||
xa commit 'a','ab'; |
|||
ERROR HY000: Lost connection to MySQL server during query |
|||
xa commit 'a','ab'; |
|||
select * from t1; |
|||
a |
|||
1 |
|||
drop table t1; |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
a |
|||
1 |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_commit_before"; |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
xa prepare 'a','ab'; |
|||
xa commit 'a','ab'; |
|||
ERROR HY000: Lost connection to MySQL server during query |
|||
xa rollback 'a','ab'; |
|||
select * from t1; |
|||
a |
|||
drop table t1; |
|||
@ -0,0 +1,124 @@ |
|||
-- source include/have_tokudb.inc |
|||
--source include/have_debug.inc |
|||
|
|||
--disable_warnings |
|||
drop table if exists t1; |
|||
--enable_warnings |
|||
|
|||
|
|||
# test that simple xa commands work with TokuDB |
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
|
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_before"; |
|||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
|||
|
|||
--error 2013 |
|||
xa prepare 'a','ab'; |
|||
|
|||
--enable_reconnect |
|||
|
|||
--source include/wait_until_connected_again.inc |
|||
|
|||
--error ER_XAER_NOTA |
|||
xa commit'a','ab'; |
|||
drop table t1; |
|||
|
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_after"; |
|||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
|||
|
|||
# this warning is expected, we want to test that |
|||
# a prepared transaction is around after we come back up |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
|
|||
--error 2013 |
|||
xa prepare 'a','ab'; |
|||
|
|||
|
|||
--enable_reconnect |
|||
|
|||
--source include/wait_until_connected_again.inc |
|||
|
|||
xa commit 'a','ab'; |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_prepare_after"; |
|||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
|||
|
|||
# this warning is expected, we want to test that |
|||
# a prepared transaction is around after we come back up |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
|
|||
--error 2013 |
|||
xa prepare 'a','ab'; |
|||
|
|||
|
|||
--enable_reconnect |
|||
|
|||
--source include/wait_until_connected_again.inc |
|||
|
|||
xa rollback 'a','ab'; |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_commit_before"; |
|||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
|||
|
|||
# this warning is expected, we want to test that |
|||
# a prepared transaction is around after we come back up |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
|
|||
xa prepare 'a','ab'; |
|||
--error 2013 |
|||
xa commit 'a','ab'; |
|||
|
|||
--enable_reconnect |
|||
|
|||
--source include/wait_until_connected_again.inc |
|||
|
|||
xa commit 'a','ab'; |
|||
select * from t1; |
|||
drop table t1; |
|||
|
|||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=tokudb; |
|||
xa begin 'a','ab'; |
|||
insert into t1 values (1); |
|||
select * from t1; |
|||
xa end 'a','ab'; |
|||
SET SESSION debug="d,tokudb_crash_commit_before"; |
|||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
|||
|
|||
# this warning is expected, we want to test that |
|||
# a prepared transaction is around after we come back up |
|||
CALL mtr.add_suppression("Found 1 prepared XA transactions"); |
|||
|
|||
xa prepare 'a','ab'; |
|||
--error 2013 |
|||
xa commit 'a','ab'; |
|||
|
|||
--enable_reconnect |
|||
|
|||
--source include/wait_until_connected_again.inc |
|||
|
|||
xa rollback 'a','ab'; |
|||
select * from t1; |
|||
drop table t1; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue