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

With enforce-storage-engine mysql_upgrade corrupts the schema: ALTER TABLE should either bypass enforce-storage-engine, or mysql_upgrade should refuse to run

Details

    • 10.1.8-1

    Description

      Currently if enforce_storage_engine is set, ALTER TABLE will switch the table to the enforced engine. It's a point of huge user errors, but even worse, it will make mysql_upgrade create a mess – it will attempt to ALTER system tables, will convert them to the enforced engine, and it will break the instance.

      I suppose it would be right if enforce_storage_engine did not affect ALTER TABLE – the point of this option is not to allow creating new "wrong" tables, while existing ones should, if needed, be converted manually and carefully, rather than automatically by an unrelated operation.

      If it's technically impossible to skip enforcing for ALTER TABLE, at the very least mysql_upgrade should handle it correctly – either refuse to run with the option, or unset it before running and reset afterwards. But there will still be a lot of room for human mistakes.

      Attachments

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Jan Lindström (Inactive) made transition -
            Open In Progress
            59m 58s 1
            Jan Lindström (Inactive) made transition -
            In Progress In Review
            13h 47m 1
            Sergei Golubchik made transition -
            In Review Stalled
            34d 10h 13m 1
            Jan Lindström (Inactive) made transition -
            Stalled Closed
            17h 18m 1

            People

              jplindst Jan Lindström (Inactive)
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.