mariadb/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result
Jan Lindström 943baa3ba8 MDEV-11168: InnoDB: Failing assertion: !other_lock || wsrep_thd_is_BF(lock->trx->mysql_thd, FALSE) || wsrep_thd_is_BF(other_lock->trx->mysql_thd, FALSE)
Problem was that we moved lock request to head of lock queue
    even when lock request has to wait.
2016-12-01 13:07:28 +02:00

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;