summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2021-01-12 13:01:07 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2021-01-12 13:01:07 +0200
commit778972684334d9881dbf735912f979caece50e12 (patch)
treee77882d847404e2f6df8635613a11a93a99c0901
parentffc384e044d8e312cad13b67b9ae27878804336c (diff)
downloadmariadb-git-778972684334d9881dbf735912f979caece50e12.tar.gz
MDEV-24447 : galera.galera_toi_lock_shared MTR failed: WSREP: ALTER TABLE isolation failure
Add wait_condition so that INSERT is replicated before ALTER and ALTER is replicated before we try to INSERT with new number of columns.
-rw-r--r--mysql-test/suite/galera/r/galera_toi_lock_shared.result21
-rw-r--r--mysql-test/suite/galera/t/galera_toi_lock_shared.test14
2 files changed, 26 insertions, 9 deletions
diff --git a/mysql-test/suite/galera/r/galera_toi_lock_shared.result b/mysql-test/suite/galera/r/galera_toi_lock_shared.result
index fe1c88075d5..ec54d1019e9 100644
--- a/mysql-test/suite/galera/r/galera_toi_lock_shared.result
+++ b/mysql-test/suite/galera/r/galera_toi_lock_shared.result
@@ -6,12 +6,21 @@ connection node_2;
ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=SHARED;
connection node_1;
INSERT INTO t1 VALUES (2, 2);
-SELECT COUNT(*) = 2 FROM t1;
-COUNT(*) = 2
-1
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+EXPECT_2
+2
+SELECT * FROM t1;
+id f2
+1 NULL
+2 2
connection node_2;
INSERT INTO t1 VALUES (3, 3);
-SELECT COUNT(*) = 3 FROM t1;
-COUNT(*) = 3
-1
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+EXPECT_3
+3
+SELECT * FROM t1;
+id f2
+1 NULL
+2 2
+3 3
DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_toi_lock_shared.test b/mysql-test/suite/galera/t/galera_toi_lock_shared.test
index 6b7feec6031..566bc721926 100644
--- a/mysql-test/suite/galera/t/galera_toi_lock_shared.test
+++ b/mysql-test/suite/galera/t/galera_toi_lock_shared.test
@@ -10,17 +10,25 @@ CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
--connection node_2
---let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1
--source include/wait_condition.inc
ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=SHARED;
--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (2, 2);
-SELECT COUNT(*) = 2 FROM t1;
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+SELECT * FROM t1;
--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 2 FROM t1
+--source include/wait_condition.inc
INSERT INTO t1 VALUES (3, 3);
-SELECT COUNT(*) = 3 FROM t1;
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+SELECT * FROM t1;
DROP TABLE t1;