diff --git a/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result b/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result index 4f9951c382f..4742fc1af9c 100644 --- a/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result +++ b/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result @@ -7,12 +7,18 @@ UPDATE t1 SET f1 = f1 + 10;; connection node_2; UPDATE t1 SET f1 = f1 + 100;; connection node_1; -connection node_2; -connection node_3; -SELECT f1 = 111 FROM t1; -f1 = 111 +SELECT COUNT(*) FROM t1; +COUNT(*) 1 -SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%'; +connection node_2; +SELECT COUNT(*) FROM t1; +COUNT(*) +1 +connection node_3; +SELECT COUNT(*) FROM t1; +COUNT(*) +1 +SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%committed%'; COUNT(*) IN (1, 2) 1 SET GLOBAL wsrep_slave_threads = 1;; diff --git a/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test b/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test index 7d80d8036a1..f1168e59193 100644 --- a/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test +++ b/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test @@ -24,14 +24,26 @@ SET GLOBAL wsrep_slave_threads = 2; --send UPDATE t1 SET f1 = f1 + 100; --connection node_1 +# +# Note that test is not deterministic. We have following cases possible +# (1) Both updates are certified locally and then executed by the applier +# (2) Certification of update in node_1 fails because applier has started +# update from node_2 +# (3) Certification of update in node_2 fails because applier has started +# update from node_1 +# +--error 0,ER_LOCK_DEADLOCK --reap +SELECT COUNT(*) FROM t1; --connection node_2 +--error 0,ER_LOCK_DEADLOCK --reap +SELECT COUNT(*) FROM t1; --connection node_3 -SELECT f1 = 111 FROM t1; -SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%'; +SELECT COUNT(*) FROM t1; +SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%committed%'; --eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;