mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
9608773f75
This essentially reverts commit 4e89ec6692
and only disables InnoDB persistent statistics for tests where it is
desirable. By design, InnoDB persistent statistics will not be updated
except by ANALYZE TABLE or by STATS_AUTO_RECALC.
The internal transactions that update persistent InnoDB statistics
in background tasks (with innodb_stats_auto_recalc=ON) may cause
nondeterministic query plans or interfere with some tests that deal
with other InnoDB internals, such as the purge of transaction history.
38 lines
1.3 KiB
Text
38 lines
1.3 KiB
Text
#
|
|
# Bug #39022: Mysql randomly crashing in lock_sec_rec_cons_read_sees
|
|
#
|
|
call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
|
|
CREATE TABLE t1(a TINYINT NOT NULL,b TINYINT,PRIMARY KEY(b)) ENGINE=innodb;
|
|
CREATE TABLE t2(d TINYINT NOT NULL,UNIQUE KEY(d)) ENGINE=innodb;
|
|
INSERT INTO t1 VALUES (13,0),(8,1),(9,2),(6,3),
|
|
(11,5),(11,6),(7,7),(7,8),(4,9),(6,10),(3,11),(11,12),
|
|
(12,13),(7,14);
|
|
INSERT INTO t2 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),
|
|
(11),(12),(13),(14);
|
|
connect thread1, localhost, root,,;
|
|
connect thread2, localhost, root,,;
|
|
connection thread1;
|
|
START TRANSACTION;
|
|
connection thread2;
|
|
REPLACE INTO t2 VALUES (-17);
|
|
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SHARE MODE;
|
|
d
|
|
connection thread1;
|
|
REPLACE INTO t1(a,b) VALUES (67,20);
|
|
connection thread2;
|
|
COMMIT;
|
|
START TRANSACTION;
|
|
REPLACE INTO t1(a,b) VALUES (65,-50);
|
|
REPLACE INTO t2 VALUES (-91);
|
|
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SHARE MODE;
|
|
connection thread1;
|
|
# should not crash
|
|
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SHARE MODE;
|
|
Got one of the listed errors
|
|
connection thread2;
|
|
d
|
|
disconnect thread2;
|
|
connection thread1;
|
|
disconnect thread1;
|
|
connection default;
|
|
DROP TABLE t1,t2;
|