[MDEV-27190] InnoDB upgrade from 10.2, 10.3, 10.4 is not crash-safe Created: 2021-12-07  Updated: 2021-12-07  Resolved: 2021-12-07

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.5.2, 10.6.0, 10.7.0
Fix Version/s: 10.5.14, 10.6.6, 10.7.2

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: regression-10.5, upgrade


 Description   

During startup, InnoDB crash recovery must write a FILE_CHECKPOINT record. However, in MDEV-12353 the redo log record format was changed. When we are upgrading from a logically empty 10.2, 10.3, or 10.4 redo log, we must not write such a record, because it is encoded differently from the MLOG_CHECKPOINT record. We must simply create a new logically empty log file and replace the old ib_logfile0 with that.

Writing to the old log file would corrupt the log file. If the server is killed during the upgrade, we may end up with having a corrupted log file, and both the old and new version of the server may refuse to start up.


Generated at Thu Feb 08 09:51:01 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.