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

innodb_force_recovery and innodb_corrupt_table_action are ignored with corrupt BLOB page

    XMLWordPrintable

Details

    Description

      Hi everybody,

      I ran into an interesting issue today. I have a corrupted BLOB page. I do not know how the page got corrupted. It happened with a partitioned table.

      The page contained BLOB for 2 columns, e.g. in this example id's 5 and 6 are corrupt:
      SELECT COUNT(id) FROM table WHERE date BETWEEN '2013-05-01' AND '2013-05-31' -> ok
      SELECT COUNT(blob) FROM TABLE WHERE date BETWEEN '2013-05-01' AND '2013-05-31' -> crash
      SELECT COUNT(blob) FROM TABLE WHERE date BETWEEN '2013-05-01' AND '2013-05-31' and id < 5 -> ok
      SELECT COUNT(blob) FROM TABLE WHERE date BETWEEN '2013-05-01' AND '2013-05-31' and id = 5 -> crash
      SELECT COUNT(blob) FROM TABLE WHERE date BETWEEN '2013-05-01' AND '2013-05-31' and id > 6 -> ok

      One of the crashes is described in the first crash of the error log.

      It would be convenient to repair the table if we set innodb_corrupt_table_action to 'salvage'. This did not change any crash behavior. I also tried to set innodb_crash_recovery to 1. This did not change the behavior either.

      The second crash in the error log is with innodb_corrupt_table_action to 'salvage' and innodb_crash_recovery to 1.

      Attachments

        Activity

          People

            Unassigned Unassigned
            michaeldg Michaël de groot
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.