mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
943baa3ba8
Problem was that we moved lock request to head of lock queue even when lock request has to wait.
109 lines
1.9 KiB
Text
109 lines
1.9 KiB
Text
CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
connect con1,localhost,root,,test;
|
|
connection con1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (1),(2);
|
|
SELECT * from t1;
|
|
i1
|
|
1
|
|
2
|
|
UPDATE t1 SET i1 = 1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
COMMIT;
|
|
connection default;
|
|
COMMIT;
|
|
SELECT * FROM t1;
|
|
i1
|
|
SELECT * FROM t2;
|
|
i2
|
|
1
|
|
2
|
|
DROP TABLE t1, t2;
|
|
disconnect con1;
|
|
CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
connect con1,localhost,root,,test;
|
|
connection con1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (1),(2);
|
|
SELECT * FROM t1;
|
|
i1
|
|
1
|
|
2
|
|
UPDATE t1 SET i1 = 1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
connection default;
|
|
COMMIT;
|
|
connection con1;
|
|
COMMIT;
|
|
connection default;
|
|
SELECT * FROM t1;
|
|
i1
|
|
SELECT * FROM t2;
|
|
i2
|
|
1
|
|
2
|
|
DROP TABLE t1, t2;
|
|
disconnect con1;
|
|
# "restart: --loose-innodb-lock-schedule-algorithm=FCFS"
|
|
CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
connect con1,localhost,root,,test;
|
|
connection con1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (1),(2);
|
|
SELECT * from t1;
|
|
i1
|
|
1
|
|
2
|
|
UPDATE t1 SET i1 = 1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
COMMIT;
|
|
connection default;
|
|
COMMIT;
|
|
SELECT * FROM t1;
|
|
i1
|
|
SELECT * FROM t2;
|
|
i2
|
|
1
|
|
2
|
|
DROP TABLE t1, t2;
|
|
disconnect con1;
|
|
CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
connect con1,localhost,root,,test;
|
|
connection con1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (1),(2);
|
|
SELECT * FROM t1;
|
|
i1
|
|
1
|
|
2
|
|
UPDATE t1 SET i1 = 1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
connection default;
|
|
COMMIT;
|
|
connection con1;
|
|
COMMIT;
|
|
connection default;
|
|
SELECT * FROM t1;
|
|
i1
|
|
SELECT * FROM t2;
|
|
i2
|
|
1
|
|
2
|
|
DROP TABLE t1, t2;
|
|
disconnect con1;
|