mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-35699 Multi-batch recovery occasionally fails
recv_sys_t::parse<storing=NO>(): Do invoke
fil_space_set_recv_size_and_flags() and do parse enough of page 0
to facilitate that.
This fixes a regression that had been introduced in
commit b249a059da
(MDEV-34850).
In a multi-batch crash recovery, we would fail to invoke
fil_space_set_recv_size_and_flags() while parsing the remaining log,
before starting the first recovery batch.
Reviewed by: Debarun Banerjee
Tested by: Matthias Leich
This commit is contained in:
15
mysql-test/suite/encryption/r/recovery_memory.result
Normal file
15
mysql-test/suite/encryption/r/recovery_memory.result
Normal file
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE t1(f1 text, index idx(f1(20))) ENGINE INNODB;
|
||||
set global innodb_fast_shutdown=0;
|
||||
# restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0
|
||||
set global debug_dbug="+d,ib_log_checkpoint_avoid_hard";
|
||||
INSERT INTO t1 SELECT repeat('a', 8000) FROM seq_1_to_1280;
|
||||
DELETE FROM t1;
|
||||
SET GLOBAL innodb_max_purge_lag_wait=0;
|
||||
INSERT INTO t1 VALUES('a');
|
||||
# XTRABACKUP PREPARE
|
||||
# restart
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
1
|
||||
ALTER TABLE t1 FORCE;
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user