connection node_2; connection node_1; connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1; connection node_1; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB; SET SESSION wsrep_trx_fragment_size = 2; SET SESSION wsrep_trx_fragment_unit = 'statements'; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 SET AUTOCOMMIT=OFF; START TRANSACTION; connection node_1a; SET GLOBAL DEBUG_DBUG = 'd,sync.wsrep_apply_cb'; SET SESSION wsrep_sync_wait = 0; connection node_2; INSERT INTO t1 VALUES (1); connection node_1a; SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached"; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 connection node_1; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 INSERT INTO t1 VALUES (1);; connection node_1a; connection node_1a; SET GLOBAL DEBUG_DBUG = ''; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; connection node_1; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction COMMIT; SELECT COUNT(*) = 1 FROM t1; COUNT(*) = 1 1 SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_2; SELECT COUNT(*) = 1 FROM t1; COUNT(*) = 1 1 SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_1a; SET DEBUG_SYNC = 'RESET'; connection node_1; TRUNCATE TABLE t1; SET SESSION wsrep_trx_fragment_size = 10; SET SESSION wsrep_trx_fragment_unit = 'bytes'; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 SET AUTOCOMMIT=OFF; START TRANSACTION; connection node_1a; SET GLOBAL DEBUG_DBUG = 'd,sync.wsrep_apply_cb'; SET SESSION wsrep_sync_wait = 0; connection node_2; INSERT INTO t1 VALUES (1); connection node_1a; SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached"; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 connection node_1; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 INSERT INTO t1 VALUES (1); connection node_1a; SET GLOBAL DEBUG_DBUG = ''; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; connection node_1; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction ROLLBACK; SELECT * FROM t1; f1 1 SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_2; SELECT * FROM t1; f1 1 SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_1a; SET DEBUG_SYNC = 'RESET'; connection node_1; TRUNCATE TABLE t1; SET SESSION wsrep_trx_fragment_size = 200; SET SESSION wsrep_trx_fragment_unit = 'bytes'; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 SET AUTOCOMMIT=OFF; START TRANSACTION; connection node_1a; SET GLOBAL DEBUG_DBUG = 'd,sync.wsrep_apply_cb'; SET SESSION wsrep_sync_wait = 0; connection node_2; INSERT INTO t1 VALUES (1); connection node_1a; SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached"; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 connection node_1; INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (2); connection node_1a; SET GLOBAL DEBUG_DBUG = ''; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; connection node_1; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction COMMIT; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_2; SELECT COUNT(*) = 1 FROM t1; COUNT(*) = 1 1 SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; COUNT(*) = 0 1 connection node_1a; DROP TABLE t1; SET DEBUG_SYNC = 'RESET'; connection node_2; CALL mtr.add_suppression("WSREP: Could not find applier context for");