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'; connect con2,localhost,root; CREATE TABLE t2 (a INT) ENGINE=InnoDB; XA START 'y'; INSERT INTO t2 VALUES (1); XA END 'y'; XA PREPARE 'y'; connection default; # restart: --innodb-force-recovery=2 disconnect con1; disconnect con2; connect con1,localhost,root; SELECT * FROM t1 LOCK IN SHARE MODE; connection default; SET innodb_lock_wait_timeout=1; DROP TABLE t2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction disconnect con1; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT * FROM t1; a 2 XA ROLLBACK 'x'; SELECT * FROM t1; a 1 DROP TABLE t1; DROP TABLE t2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction XA ROLLBACK 'y'; DROP TABLE t2; SET GLOBAL innodb_fast_shutdown=0; # restart