summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2020-10-30 09:19:29 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2020-10-30 09:19:29 +0200
commit5482d62760bcbdcf44f1340fb5846c3942419dc5 (patch)
tree23b4c6c50768bdca9b2884393f36bd134cd4fb77
parenta90b15837cb1a2138a07266cb8df42fcaa905229 (diff)
downloadmariadb-git-5482d62760bcbdcf44f1340fb5846c3942419dc5.tar.gz
Fix sporadic test failure on galera_parallel_apply_3nodes.
Test itself is not deterministic.
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result12
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test16
2 files changed, 23 insertions, 5 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;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
connection node_2;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
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%';
+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;