1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Files
mariadb/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test
Jan Lindström 5482d62760 Fix sporadic test failure on galera_parallel_apply_3nodes.
Test itself is not deterministic.
2020-10-30 09:19:29 +02:00

51 lines
1.4 KiB
Plaintext

#
# This test performs two dependent updates on two nodes and checks the results on the third where
# parallel apply is enabled.
#
--source include/galera_cluster.inc
--source include/have_innodb.inc
--let $galera_connection_name = node_3
--let $galera_server_number = 3
--source include/galera_connect.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
--connection node_3
--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
SET GLOBAL wsrep_slave_threads = 2;
--connection node_1
--send UPDATE t1 SET f1 = f1 + 10;
--connection node_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 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;
DROP TABLE t1;