mirror of
https://github.com/MariaDB/server.git
synced 2025-04-26 11:49:09 +03:00
55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
connect prevent_purge,localhost,root,,;
|
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
|
connection default;
|
|
SET GLOBAL innodb_monitor_disable='lock_row_lock_time_avg';
|
|
CREATE TABLE `t` (a INT PRIMARY KEY) engine=InnoDB STATS_PERSISTENT=0;
|
|
INSERT INTO t VALUES (5);
|
|
SELECT name, count FROM information_schema.innodb_metrics
|
|
WHERE name ='lock_row_lock_current_waits';
|
|
name count
|
|
lock_row_lock_current_waits 0
|
|
connect con1,localhost,root,,;
|
|
BEGIN;
|
|
SELECT * FROM t FOR UPDATE;
|
|
a
|
|
5
|
|
connect con2,localhost,root,,;
|
|
SET DEBUG_SYNC="lock_wait_before_suspend SIGNAL blocked WAIT_FOR cont";
|
|
BEGIN;
|
|
SELECT * FROM t FOR UPDATE;
|
|
connection default;
|
|
SET DEBUG_SYNC="now WAIT_FOR blocked";
|
|
SELECT name, count FROM information_schema.innodb_metrics
|
|
WHERE name ='lock_row_lock_current_waits';
|
|
name count
|
|
lock_row_lock_current_waits 1
|
|
SET GLOBAL innodb_monitor_disable='lock_row_lock_current_waits';
|
|
SET GLOBAL innodb_monitor_reset_all='lock_row_lock_current_waits';
|
|
SET GLOBAL innodb_monitor_enable='lock_row_lock_current_waits';
|
|
SELECT name, count FROM information_schema.innodb_metrics
|
|
WHERE name ='lock_row_lock_current_waits';
|
|
name count
|
|
lock_row_lock_current_waits 1
|
|
SET DEBUG_SYNC="now SIGNAL cont";
|
|
disconnect con1;
|
|
connection con2;
|
|
a
|
|
5
|
|
COMMIT;
|
|
disconnect con2;
|
|
connection default;
|
|
SET DEBUG_SYNC="reset";
|
|
SELECT name, count FROM information_schema.innodb_metrics
|
|
WHERE name ='lock_row_lock_current_waits';
|
|
name count
|
|
lock_row_lock_current_waits 0
|
|
DROP TABLE `t`;
|
|
SET GLOBAL innodb_monitor_disable='lock_row_lock_current_waits';
|
|
SET GLOBAL innodb_monitor_reset_all='lock_row_lock_current_waits';
|
|
SET GLOBAL innodb_monitor_enable='lock_row_lock_current_waits';
|
|
SET GLOBAL innodb_monitor_enable='lock_row_lock_time_avg';
|
|
SET GLOBAL innodb_monitor_disable=default;
|
|
SET GLOBAL innodb_monitor_reset_all=default;
|
|
SET GLOBAL innodb_monitor_enable=default;
|
|
disconnect prevent_purge;
|