Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDEV-18874 : Galera test MW-286 causes Mutex = TTASEventMutex<Generic…
…Policy>]: Assertion `!is_owned()' failed. assertion MDEV-24649 galera.galera_bf_lock_wait MTR failed with sigabrt: Assertion `!is_ow ned()' failed in sync0policy.ic on MutexDebug with Mutex = TTASEventMutex<GenericPolicy> Bug was fixed as part of MDEV-23328, this just adds test cases to regression set.
- Loading branch information
Jan Lindström
committed
Mar 18, 2021
1 parent
6974058
commit f4e14f0
Showing
3 changed files
with
124 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
connection node_2; | ||
CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB; | ||
insert into t1 values (NULL,1); | ||
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; | ||
connection node_2a; | ||
begin; | ||
update t1 set a = 5; | ||
connection node_2; | ||
select * from t1; | ||
a b | ||
2 1 | ||
disconnect node_2a; | ||
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; | ||
connection node_2a; | ||
begin; | ||
update t1 set a =5; | ||
connection node_2; | ||
select * from t1; | ||
a b | ||
2 1 | ||
disconnect node_2a; | ||
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; | ||
connection node_2a; | ||
begin; | ||
update t1 set a =5, b=2; | ||
connection node_2; | ||
ALTER TABLE t1 ADD UNIQUE KEY b1(b); | ||
ALTER TABLE t1 DROP KEY b1; | ||
select * from t1; | ||
a b | ||
2 1 | ||
disconnect node_2a; | ||
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; | ||
connection node_2a; | ||
begin; | ||
update t1 set a =5, b=2; | ||
connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2; | ||
connection node_2b; | ||
begin; | ||
update t1 set a =6, b=7; | ||
connection node_2; | ||
ALTER TABLE t1 ADD UNIQUE KEY b2(b); | ||
ALTER TABLE t1 DROP KEY b2; | ||
select * from t1; | ||
a b | ||
2 1 | ||
disconnect node_2a; | ||
disconnect node_2b; | ||
connection node_1; | ||
drop table t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
--source include/galera_cluster.inc | ||
--source include/have_innodb.inc | ||
# | ||
# Test case 1: Start a transaction on node_2a and kill it | ||
# from other connection on same node | ||
# | ||
--connection node_2 | ||
CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB; | ||
insert into t1 values (NULL,1); | ||
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 | ||
--connection node_2a | ||
begin; | ||
update t1 set a = 5; | ||
--connection node_2 | ||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1 | ||
--source include/wait_condition.inc | ||
--let $k_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1` | ||
--disable_query_log | ||
--eval KILL $k_thread | ||
--enable_query_log | ||
select * from t1; | ||
--disconnect node_2a | ||
# | ||
# Test case 2: Start a transaction on node_2a and use | ||
# kill query from other connection on same node | ||
# | ||
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 | ||
--connection node_2a | ||
begin; | ||
update t1 set a =5; | ||
--connection node_2 | ||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1 | ||
--source include/wait_condition.inc | ||
--let $k_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1` | ||
--disable_query_log | ||
--eval KILL QUERY $k_thread | ||
--enable_query_log | ||
select * from t1; | ||
--disconnect node_2a | ||
# | ||
# Test case 3: Start a transaction on node_2a and start a DDL on other transaction | ||
# that will then abort node_2a transaction | ||
# | ||
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 | ||
--connection node_2a | ||
begin; | ||
update t1 set a =5, b=2; | ||
--connection node_2 | ||
ALTER TABLE t1 ADD UNIQUE KEY b1(b); | ||
ALTER TABLE t1 DROP KEY b1; | ||
select * from t1; | ||
--disconnect node_2a | ||
# | ||
# Test case 4: Start a transaction on node_2a and conflicting transaction on node_2b | ||
# and start a DDL on other transaction that will then abort node_2a and node_2b | ||
# transactions | ||
# | ||
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 | ||
--connection node_2a | ||
begin; | ||
update t1 set a =5, b=2; | ||
--connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2 | ||
--connection node_2b | ||
begin; | ||
send update t1 set a =6, b=7; | ||
--connection node_2 | ||
ALTER TABLE t1 ADD UNIQUE KEY b2(b); | ||
ALTER TABLE t1 DROP KEY b2; | ||
select * from t1; | ||
--disconnect node_2a | ||
--disconnect node_2b | ||
|
||
--connection node_1 | ||
drop table t1; |