From 5482d62760bcbdcf44f1340fb5846c3942419dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Fri, 30 Oct 2020 09:19:29 +0200 Subject: [PATCH] Fix sporadic test failure on galera_parallel_apply_3nodes. Test itself is not deterministic. --- .../r/galera_parallel_apply_3nodes.result | 16 +++++++++++----- .../t/galera_parallel_apply_3nodes.test | 16 ++++++++++++++-- 2 files changed, 25 insertions(+), 7 deletions(-) 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;