mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
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.
This commit is contained in:
parent
57b666b2e5
commit
44a11a7c08
2 changed files with 47 additions and 25 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue