From 44a11a7c085f4f5a4042100df0828d54d596103d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Wed, 9 Oct 2019 11:41:14 +0300 Subject: [PATCH] MDEV-20780 : Galera test failure on galera_sr.galera_sr_ddl_master Fix wait_condition and use repeatable read with wsrep_sync at the end. --- .../galera_sr/r/galera_sr_ddl_master.result | 54 ++++++++++++------- .../galera_sr/t/galera_sr_ddl_master.test | 18 ++++--- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result b/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result index cf9c7771bed..9b4419949f3 100644 --- a/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result +++ b/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result @@ -12,17 +12,18 @@ INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (5); connection node_2; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log; -COUNT(*) > 0 -1 +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SELECT COUNT(*) as expect_5 FROM mysql.wsrep_streaming_log; +expect_5 +5 connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1; ALTER TABLE t1 ADD COLUMN f2 INTEGER; connection node_1; INSERT INTO t1 VALUES (6); ERROR 40001: Deadlock found when trying to get lock; try restarting transaction -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; -COUNT(*) = 0 -1 +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; +expect_0 +0 ROLLBACK; START TRANSACTION; INSERT INTO t1 (f1) VALUES (1); @@ -32,17 +33,34 @@ INSERT INTO t1 (f1) VALUES (4); INSERT INTO t1 (f1) VALUES (5); INSERT INTO t1 (f1) VALUES (6); COMMIT; -SELECT COUNT(*) = 6 FROM t1; -COUNT(*) = 6 -1 -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; -COUNT(*) = 0 -1 +SELECT COUNT(*) as expect_6 FROM t1; +expect_6 +6 +SELECT * FROM t1; +f1 f2 +1 NULL +2 NULL +3 NULL +4 NULL +5 NULL +6 NULL +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; +expect_0 +0 connection node_2; -SELECT COUNT(*) = 6 FROM t1; -COUNT(*) = 6 -1 -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; -COUNT(*) = 0 -1 +set global wsrep_sync_wait=15; +SELECT COUNT(*) as expect_6 FROM t1; +expect_6 +6 +SELECT * FROM t1; +f1 f2 +1 NULL +2 NULL +3 NULL +4 NULL +5 NULL +6 NULL +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; +expect_0 +0 DROP TABLE t1; diff --git a/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test b/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test index 7da7f55ba15..bbab86d41a0 100644 --- a/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test +++ b/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test @@ -27,10 +27,11 @@ INSERT INTO t1 VALUES (5); --connection node_2 # SR replication is triggered and rows have been delivered to the slave SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; ---let $wait_condition = SELECT COUNT(*) > 0 FROM t1; +--let $wait_condition = SELECT COUNT(*) = 5 FROM t1; --source include/wait_condition.inc +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; -SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log; +SELECT COUNT(*) as expect_5 FROM mysql.wsrep_streaming_log; --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1 ALTER TABLE t1 ADD COLUMN f2 INTEGER; @@ -39,7 +40,7 @@ ALTER TABLE t1 ADD COLUMN f2 INTEGER; --error ER_LOCK_DEADLOCK INSERT INTO t1 VALUES (6); -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; # Check that the transaction thus aborted could be reissued @@ -53,11 +54,14 @@ INSERT INTO t1 (f1) VALUES (5); INSERT INTO t1 (f1) VALUES (6); COMMIT; -SELECT COUNT(*) = 6 FROM t1; -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; +SELECT COUNT(*) as expect_6 FROM t1; +SELECT * FROM t1; +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; --connection node_2 -SELECT COUNT(*) = 6 FROM t1; -SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; +set global wsrep_sync_wait=15; +SELECT COUNT(*) as expect_6 FROM t1; +SELECT * FROM t1; +SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log; DROP TABLE t1;