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

MDEV-32737 innodb.log_file_name fails on Assertion `after_apply || !(blocks).end in recv_sys_t::clear

recv_group_scan_log_recs(): Set the debug flag recv_sys.after_apply
after actually completing the log scan.

In the test, suppress some errors that may be reported when
the crash recovery of RENAME TABLE t1 TO t2 is preceded by
copying t2.ibd to t1.ibd.
This commit is contained in:
Marko Mäkelä
2023-11-09 11:06:17 +02:00
parent c68620df48
commit e0c65784aa
2 changed files with 3 additions and 1 deletions

View File

@@ -170,6 +170,8 @@ call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' \(init function returned error\|registration as a STORAGE ENGINE failed\)"); call mtr.add_suppression("Plugin 'InnoDB' \(init function returned error\|registration as a STORAGE ENGINE failed\)");
call mtr.add_suppression("InnoDB: Table test/u[123] in the InnoDB data dictionary has tablespace id [1-9][0-9]*, but tablespace with that id or name does not exist\\. Have you deleted or moved \\.ibd files\\?"); call mtr.add_suppression("InnoDB: Table test/u[123] in the InnoDB data dictionary has tablespace id [1-9][0-9]*, but tablespace with that id or name does not exist\\. Have you deleted or moved \\.ibd files\\?");
call mtr.add_suppression("InnoDB: Cannot replay rename of tablespace.*"); call mtr.add_suppression("InnoDB: Cannot replay rename of tablespace.*");
call mtr.add_suppression("InnoDB: Attempted to open a previously opened tablespace");
call mtr.add_suppression("InnoDB: Recovery cannot access file");
FLUSH TABLES; FLUSH TABLES;
--enable_query_log --enable_query_log

View File

@@ -3203,7 +3203,6 @@ recv_group_scan_log_recs(
log_sys.log.scanned_lsn = end_lsn = *contiguous_lsn = log_sys.log.scanned_lsn = end_lsn = *contiguous_lsn =
ut_uint64_align_down(*contiguous_lsn, OS_FILE_LOG_BLOCK_SIZE); ut_uint64_align_down(*contiguous_lsn, OS_FILE_LOG_BLOCK_SIZE);
ut_d(recv_sys.after_apply = last_phase);
do { do {
if (last_phase && store == STORE_NO) { if (last_phase && store == STORE_NO) {
@@ -3226,6 +3225,7 @@ recv_group_scan_log_recs(
DBUG_RETURN(false); DBUG_RETURN(false);
} }
ut_d(recv_sys.after_apply = last_phase);
DBUG_PRINT("ib_log", ("%s " LSN_PF " completed", DBUG_PRINT("ib_log", ("%s " LSN_PF " completed",
last_phase ? "rescan" : "scan", last_phase ? "rescan" : "scan",
log_sys.log.scanned_lsn)); log_sys.log.scanned_lsn));