mirror of
https://github.com/MariaDB/server.git
synced 2025-08-23 03:54:27 +03:00
The real problem is that when innodb.xa_recovery test intentionally crashes the server, system tables can be opened and marked as crashed, and the next test in line gets blamed for the error which appears in the error log. Fixed by flushing the tables before crashing the server
54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
if (`select plugin_auth_version <= "5.5.43-MariaDB-37.2" from information_schema.plugins where plugin_name='innodb'`)
|
|
{
|
|
--skip Not fixed in XtraDB as of 5.5.43-MariaDB-37.2 or earlier
|
|
}
|
|
--source include/have_innodb.inc
|
|
# Embedded server does not support restarting.
|
|
--source include/not_embedded.inc
|
|
|
|
# MDEV-8841 - close tables opened by previous tests,
|
|
# so they don't get marked crashed when the server gets crashed
|
|
--disable_query_log
|
|
FLUSH TABLES;
|
|
--enable_query_log
|
|
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1);
|
|
connect (con1,localhost,root);
|
|
XA START 'x'; UPDATE t1 set a=2; XA END 'x'; XA PREPARE 'x';
|
|
connection default;
|
|
|
|
call mtr.add_suppression("Found 1 prepared XA transactions");
|
|
|
|
# Kill and restart the server.
|
|
-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
-- shutdown_server 0
|
|
-- source include/wait_until_disconnected.inc
|
|
|
|
-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
-- enable_reconnect
|
|
-- source include/wait_until_connected_again.inc
|
|
-- disable_reconnect
|
|
|
|
disconnect con1;
|
|
connect (con1,localhost,root);
|
|
--send SELECT * FROM t1 LOCK IN SHARE MODE
|
|
|
|
connection default;
|
|
let $wait_condition=
|
|
select count(*) = 1 from information_schema.processlist
|
|
where state = 'Sending data' and
|
|
info = 'SELECT * FROM t1 LOCK IN SHARE MODE';
|
|
--source include/wait_condition.inc
|
|
|
|
--source include/restart_mysqld.inc
|
|
|
|
disconnect con1;
|
|
|
|
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
|
SELECT * FROM t1;
|
|
XA ROLLBACK 'x';
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|