--source include/galera_cluster.inc --source include/have_innodb.inc CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB; --connection node_2 # Ensure that the tables have been created on node #2 SELECT 1 FROM DUAL; LOCK TABLE t2 WRITE; --connect node_2_ctrl, 127.0.0.1, root, , test, $NODE_MYPORT_2 --connection node_2_ctrl SET SESSION wsrep_sync_wait=0; --connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 --connection node_2a --send OPTIMIZE TABLE t1,t2; --connection node_2_ctrl SET SESSION wsrep_sync_wait = 0; --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%'; --let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST --source include/wait_condition_with_debug_and_kill.inc --connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2 --connection node_2b --send REPAIR TABLE t1,t2; --connection node_2_ctrl --let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%'; --let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST --source include/wait_condition_with_debug_and_kill.inc --connection node_1 # We have LOCK TABLE in node_2 so this could fail on lock wait # or next statement is fast enought and succeed --error 0,ER_LOCK_WAIT_TIMEOUT INSERT INTO t2 VALUES (1); --connection node_2 UNLOCK TABLES; --connection node_2a --reap --connection node_2b --reap DROP TABLE t1; DROP TABLE t2; --connection node_1 --disconnect node_2a --disconnect node_2b --disconnect node_2_ctrl