Browse Source
			
			
			MDEV-18874 : Galera test MW-286 causes Mutex = TTASEventMutex<GenericPolicy>]: Assertion `!is_owned()' failed. assertion
			
				
		MDEV-18874 : Galera test MW-286 causes Mutex = TTASEventMutex<GenericPolicy>]: 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.bb-10.2-MDEV-24903
				 3 changed files with 124 additions and 2 deletions
			
			
		- 
					2mysql-test/suite/galera/disabled.def
- 
					50mysql-test/suite/galera/r/galera_bf_kill.result
- 
					74mysql-test/suite/galera/t/galera_bf_kill.test
| @ -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; | |||
| @ -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; | |||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue