connection node_2; connection node_1; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 int, f3 int, unique key keyj (f2)); INSERT INTO t1 VALUES (1, 1, 0); INSERT INTO t1 VALUES (3, 3, 0); INSERT INTO t1 VALUES (10, 10, 0); SET GLOBAL wsrep_slave_threads = 3; SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb"; connection node_1; SET SESSION wsrep_sync_wait=0; START TRANSACTION; DELETE FROM t1 WHERE f2 = 3; INSERT INTO t1 VALUES (3, 3, 1); connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1; connection node_1a; SET SESSION wsrep_sync_wait=0; connection node_2; INSERT INTO t1 VALUES (5, 5, 2); connection node_1a; SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached"; SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; connection node_2; INSERT INTO t1 VALUES (4, 4, 2); connection node_1a; SET SESSION wsrep_on = 0; SET SESSION wsrep_on = 1; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync'; connection node_1; COMMIT; connection node_1a; SET SESSION wsrep_on = 0; SET SESSION wsrep_on = 1; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL DEBUG_DBUG = ""; SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb"; SET GLOBAL debug_dbug = NULL; SET debug_sync='RESET'; SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb"; SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached"; SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_slave_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL DEBUG_DBUG = ""; SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb"; SET GLOBAL debug_dbug = NULL; SET debug_sync='RESET'; SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_slave_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; connection node_1; SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 10 10 0 SET GLOBAL wsrep_slave_threads = DEFAULT; connection node_2; SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 10 10 0 INSERT INTO t1 VALUES (7,7,7); INSERT INTO t1 VALUES (8,8,8); SELECT COUNT(*) FROM t1; COUNT(*) 7 SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 7 7 7 8 8 8 10 10 0 connection node_1; SELECT COUNT(*) FROM t1; COUNT(*) 7 SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 7 7 7 8 8 8 10 10 0 DROP TABLE t1; test scenario 2 connection node_1; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 int, f3 int, unique key keyj (f2)); INSERT INTO t1 VALUES (1, 1, 0); INSERT INTO t1 VALUES (3, 3, 0); INSERT INTO t1 VALUES (10, 10, 0); SET GLOBAL wsrep_slave_threads = 3; SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; connection node_1; SET SESSION wsrep_sync_wait=0; START TRANSACTION; DELETE FROM t1 WHERE f2 = 3; INSERT INTO t1 VALUES (3, 3, 1); connection node_1a; SET SESSION wsrep_sync_wait=0; connection node_2; INSERT INTO t1 VALUES (5, 5, 2); connection node_1a; SET SESSION wsrep_on = 0; SET SESSION wsrep_on = 1; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync'; connection node_1; COMMIT; connection node_1a; SET SESSION wsrep_on = 0; SET SESSION wsrep_on = 1; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_replay_cb"; SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_replay_cb_reached"; SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_slave_enter_sync'; connection node_2; INSERT INTO t1 VALUES (4, 4, 2); connection node_1a; SET SESSION wsrep_on = 0; SET SESSION wsrep_on = 1; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_slave_enter_sync'; SET GLOBAL wsrep_provider_options = 'dbug='; SET GLOBAL DEBUG_DBUG = ""; SET DEBUG_SYNC = "now SIGNAL signal.wsrep_replay_cb"; SET GLOBAL debug_dbug = NULL; SET debug_sync='RESET'; connection node_1; SET GLOBAL wsrep_slave_threads = DEFAULT; connection node_2; SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 10 10 0 INSERT INTO t1 VALUES (7,7,7); INSERT INTO t1 VALUES (8,8,8); SELECT COUNT(*) FROM t1; COUNT(*) 7 SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 7 7 7 8 8 8 10 10 0 connection node_1; SELECT COUNT(*) FROM t1; COUNT(*) 7 SELECT * FROM t1; f1 f2 f3 1 1 0 3 3 1 4 4 2 5 5 2 7 7 7 8 8 8 10 10 0 DROP TABLE t1;