mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
28e166d643
Problem: ======= InnoDB ran out of memory during recovery and it fails to flush the dirty LRU blocks. The reason is that buffer pool can ran out before the LRU list length reaches BUF_LRU_OLD_MIN_LEN(256) threshold. Fix: ==== During recovery, InnoDB should write out and evict all dirty blocks.
21 lines
471 B
Text
21 lines
471 B
Text
--source include/have_innodb.inc
|
|
--source include/big_test.inc
|
|
CREATE TABLE t1(c TEXT, KEY(c(3072)))ENGINE=InnoDB;
|
|
DELIMITER |;
|
|
|
|
CREATE PROCEDURE dorepeat()
|
|
LOOP
|
|
INSERT INTO t1 VALUES ('abc');
|
|
UPDATE t1 SET c='cba';
|
|
END LOOP
|
|
|
|
|
|
|
DELIMITER ;|
|
|
connect(con1,localhost,root,,,);
|
|
send CALL dorepeat();
|
|
connection default;
|
|
sleep 10;
|
|
let $shutdown_timeout=0;
|
|
let $restart_parameters=--innodb_buffer_pool_size=5242880;
|
|
--source include/restart_mysqld.inc
|
|
DROP TABLE t1;
|