Bug #74067 Do not care about unresolved MLOG_FILE_NAME if there are no operations to apply
Submitted: 25 Sep 2014 9:14 Modified: 26 Sep 2014 14:55
Reporter: Marko Mäkelä Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.5 OS:Any
Assigned to: CPU Architecture:Any

[25 Sep 2014 9:14] Marko Mäkelä
Description:
The MLOG_FILE_NAME record that was introduced in WL#7142 can be emitted on a log checkpoint even if the file was not changed.

If the file is missing or unreadable on crash recovery (redo log apply), we should ignore this inconsistency unless there actually is some redo log to apply on the tablespace.

How to repeat:
This probably needs some debug instrumentation.

Create a checkpoint.
Inject a MLOG_FILE_NAME record for a missing or unreadable tablespace file.
Write the MLOG_CHECKPOINT record.
Kill the server.
Restart.

Suggested fix:
Only display an informational message about the inconsistency, and do not require intervention with --innodb-force-recovery=1.

[Note] InnoDB: Tablespace N was not found at someplace.ibd, but there were no modifications either.