mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-7109: Add support for INFORMATION_SCHEMA.INNODB_SEMAPHORE_WAITS
MDEV-7399: Add support for INFORMATION_SCHEMA.INNODB_MUTEXES MDEV-7618: Improve semaphore instrumentation Introduced two new information schema tables to monitor mutex waits and semaphore waits. Added a new configuration variable innodb_intrument_semaphores to add thread_id, file name and line of current holder of mutex/rw_lock.
This commit is contained in:
66
mysql-test/suite/innodb/t/innodb_mutexes.test
Normal file
66
mysql-test/suite/innodb/t/innodb_mutexes.test
Normal file
@ -0,0 +1,66 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
connect(con1,localhost,root,,);
|
||||
connect(con2,localhost,root,,);
|
||||
connect(con3,localhost,root,,);
|
||||
|
||||
create table t1(a int not null primary key, b int, c int,d CHAR(100)) engine=innodb;
|
||||
|
||||
delimiter //;
|
||||
create procedure innodb_insert_proc (repeat_count int)
|
||||
begin
|
||||
declare current_num int;
|
||||
set current_num = 0;
|
||||
while current_num < repeat_count do
|
||||
insert into t1 values(current_num, RAND(), RAND(), substring(MD5(RAND()), -64));
|
||||
set current_num = current_num + 1;
|
||||
end while;
|
||||
end//
|
||||
delimiter ;//
|
||||
commit;
|
||||
|
||||
set autocommit=0;
|
||||
call innodb_insert_proc(20000);
|
||||
commit;
|
||||
set autocommit=1;
|
||||
|
||||
connection con1;
|
||||
send delete from t1 where a between 1000 and 1300;
|
||||
|
||||
connection con2;
|
||||
send update t1 set b=b+1 where a between 2000 and 2600;
|
||||
|
||||
connection con3;
|
||||
send insert into t1 select a+30000,b,c,d from t1 where a between 3000 and 4000;
|
||||
|
||||
connection default;
|
||||
send delete from t1 where a between 6000 and 7000;
|
||||
|
||||
connection con1;
|
||||
reap;
|
||||
|
||||
connection con2;
|
||||
reap;
|
||||
|
||||
connection con3;
|
||||
reap;
|
||||
|
||||
connection default;
|
||||
reap;
|
||||
|
||||
disconnect con1;
|
||||
disconnect con2;
|
||||
disconnect con3;
|
||||
|
||||
# test that below does not crash, actual result is not
|
||||
# repeatable
|
||||
--disable_query_log
|
||||
--disable_result_log
|
||||
--disable_warnings
|
||||
select * from information_schema.innodb_mutexes;
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
--enable_warnings
|
||||
|
||||
drop procedure innodb_insert_proc;
|
||||
drop table t1;
|
Reference in New Issue
Block a user