mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
fdf87973cb
Change xarecover_handlerton so that transaction with WSREP prefixed xids are rolled back when Galera is disabled. Reviewd-by: Jan Lindström <jan.lindstrom@mariadb.com>
57 lines
1.6 KiB
Text
57 lines
1.6 KiB
Text
#
|
|
# MDEV-23081: Stray XA transactions at startup
|
|
# if node restarts with wsrep_on=OFF
|
|
#
|
|
--source include/have_wsrep.inc
|
|
--source include/have_innodb.inc
|
|
--source include/have_wsrep_provider.inc
|
|
--source include/have_debug_sync.inc
|
|
|
|
CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
|
|
|
|
#
|
|
# Execute two inserts on block those after becoming
|
|
# prepared, and before they are committed
|
|
#
|
|
--connect con1, localhost, root
|
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
|
SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_1 WAIT_FOR continue_before_commit_order_1";
|
|
--send INSERT INTO t1 VALUES (9)
|
|
|
|
--connect con_ctrl, localhost, root
|
|
SET DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
|
|
|
--connect con2, localhost, root
|
|
SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_2 WAIT_FOR continue_before_commit_order_2";
|
|
--send INSERT INTO t1 VALUES (10)
|
|
|
|
--connection con_ctrl
|
|
SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_2";
|
|
SET DEBUG_SYNC = "now SIGNAL continue_after_certification";
|
|
SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_1";
|
|
|
|
#
|
|
# Kill the server
|
|
#
|
|
--connection default
|
|
--source include/kill_mysqld.inc
|
|
|
|
#
|
|
# and restart it with wsrep-on=OFF
|
|
#
|
|
let $restart_noprint=2;
|
|
--let $restart_parameters=--wsrep-on=OFF
|
|
--source include/start_mysqld.inc
|
|
|
|
#
|
|
# Expect no prepared XA transactions to be reported
|
|
#
|
|
XA RECOVER;
|
|
|
|
--disconnect con1
|
|
--disconnect con2
|
|
--disconnect con_ctrl
|
|
--connection default
|
|
|
|
DROP TABLE t1;
|
|
CALL mtr.add_suppression("You need to use --log-bin to make --binlog-format work");
|