1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-30552 InnoDB recovery crashes when error handling scenario

- InnoDB fails to reset the after_apply variable before applying
the redo log in last batch during multi-batch recovery.
This commit is contained in:
Thirunarayanan Balathandayuthapani
2023-02-14 14:36:17 +05:30
parent 3eea2e8e10
commit 1a5c7552ea
4 changed files with 50 additions and 0 deletions

View File

@@ -1,5 +1,10 @@
--source include/have_innodb.inc
--source include/big_test.inc
--source include/have_sequence.inc
call mtr.add_suppression("InnoDB: The change buffer is corrupted");
call mtr.add_suppression("InnoDB: Plugin initialization aborted at srv0start.cc");
call mtr.add_suppression("Plugin 'InnoDB' init function returned error");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
CREATE TABLE t1(c TEXT, KEY(c(3072)))ENGINE=InnoDB;
DELIMITER |;
@@ -19,3 +24,19 @@ let $shutdown_timeout=0;
let $restart_parameters=--innodb_buffer_pool_size=5242880;
--source include/restart_mysqld.inc
DROP TABLE t1;
DROP PROCEDURE dorepeat;
--echo #
--echo # MDEV-30552 InnoDB recovery crashes when error
--echo # handling scenario
--echo #
SET DEBUG_DBUG="+d,ib_log_checkpoint_avoid_hard";
CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
INSERT INTO t1 SELECT * FROM seq_1_to_65536;
let $shutdown_timeout=0;
let $restart_parameters=--innodb_buffer_pool_size=5242880 --debug_dbug="+d,ibuf_init_corrupt";
--source include/restart_mysqld.inc
let $restart_parameters=;
--source include/restart_mysqld.inc
SHOW CREATE TABLE t1;
DROP TABLE t1;