Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-34802

Recovery fails to note some log corruption

    XMLWordPrintable

Details

    Description

      While working on MDEV-34750, I noticed that InnoDB fails to report a crash recovery error when it is unable to properly parse the log corresponding to the latest checkpoint.

      In MDEV-12103 (MariaDB Server 10.2.5), the checkpoint information was extended with a pointer to a log record that marks the current end of the log at the time of the log checkpoint.

      The crash recovery logic fails to ensure that the log has been successfully parsed from the latest checkpoint LSN to the corresponding end-of-checkpoint record (MLOG_CHECKPOINT, which was replaced in MDEV-12353 with FILE_CHECKPOINT). InnoDB would start up on a possibly inconsistent database where not all data pages correspond to the same logical point of time, because the write-ahead-logging protocol had been violated.

      Eventually, the corruption may be noticed by log sequence number ... is in the future! messages or by debug assertions on FIL_PAGE_LSN fields.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.