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

Merge applicable changes from InnoDB 8.4.9

    XMLWordPrintable

Details

    • Not for Release Notes
    • Q2/2026 Server Maintenance

    Description

      InnoDB changes between mysql-9.6.0 and mysql-9.7.0

      Unlike in MDEV-38607, this time, most InnoDB changes have been merged from the 8.4 branch or the force-pushed 8.0 branch:

      remote: Enumerating objects: 28399, done.
      remote: Counting objects: 100% (4820/4820), done.
      remote: Compressing objects: 100% (1401/1401), done.
      Receiving objects: 100% (28399/28399), 64.68 MiB | 30.37 MiB/s, done.
      remote: Total 28399 (delta 3814), reused 3419 (delta 3419), pack-reused 23579 (from 2)
      Resolving deltas: 100% (11610/11610), completed with 156 local objects.
      From https://github.com/mysql/mysql-server
       + 666701570c3...0a7df2e4693 8.0                  -> origin/8.0  (forced update)
         0896fcd61de..f9c88132a87  8.4                  -> origin/8.4
       * [new branch]              9.7                  -> origin/9.7
         9931da2b312..c9e25276afb  cluster-7.6          -> origin/cluster-7.6
       * [new tag]                 mysql-8.0.46         -> mysql-8.0.46
       * [new tag]                 mysql-8.4.9          -> mysql-8.4.9
       * [new tag]                 mysql-9.7.0          -> mysql-9.7.0
       * [new tag]                 mysql-cluster-7.6.38 -> mysql-cluster-7.6.38
       * [new tag]                 mysql-cluster-8.0.46 -> mysql-cluster-8.0.46
       * [new tag]                 mysql-cluster-8.4.9  -> mysql-cluster-8.4.9
       * [new tag]                 mysql-cluster-9.7.0  -> mysql-cluster-9.7.0
      

      There are only two nontrivial InnoDB changes that are not bug fixes merged from 8.4:
      WL#16525: Dynamic Datamasking Support in MySQL
      WL#17159: InnoDB: Support tables with foreign keys in bulk load component (somewhat related to MDEV-16356)

      InnoDB changes between MySQL 8.4.8 and MySQL 8.4.9

      Not applicable to MariaDB Server

      Raise version number after cloning 8.4.8
      We don't maintain a separate InnoDB version number in MariaDB Server.
      Bug#38697083: Compliance related errors and warnings found during Flint++ tool's static analysis of InnoDB sources
      This is mainly changing some deleted move constructor declarations and
      removing redundant parentheses after the return keyword. Most of the affected
      code does not exist in InnoDB.

      Bug#38817886 Update copyright headers to 2026 (2, 3, 4)
      We may only update Oracle copyright years when copying bug fixes, which is rare.

      Bug#38871808 Purge must skip read_only check
      This claims to be a backport of Bug#35784192, which is related to the MySQL implementation of undo tablespace truncation, which includes unnecessary coupling of layers. Starting with MDEV-13564 and MDEV-12353, MariaDB just uses the InnoDB write-ahead log for this.
      BUG#38810801: dict_sdi_create_idx_in_mem adds columns in wrong order
      This is specific to the Global Data Dictionary and Serialized Dictionary Information that were introduced in MySQL 8.0 and never implemented in MariaDB Server.
      Bug#38935534 Invalid phy_pos after change column
      This is specific to the MySQL implementation of MDEV-11369 and MDEV-15562, which is tightly coupled with their Global Data Dictionary.
      Bug#29318160: ER_IB_MSG_705 REFERS TO OBSOLETE REFMAN PAGE
      MariaDB does not use such error codes.
      Bug#38370155 DDL operation fills the entire disk space and eventually fails
      MariaDB does not implement MDEV-16281 yet.
      Bug#39033858 Parallel_reader::Scan_ctx::copy_row copies wrong range of bytes
      MariaDB does not implement MDEV-16281 or MDEV-18705 yet.
      Bug#25579578 INNODB: FAILING ASSERTION: !FIELD->PREFIX_LEN ¦¦ FIELD->FIXED_LEN == FIELD->PREF
      There appears to be a change in policy, because test cases for crashing bugs used to be withheld by Oracle. The test case does not crash MariaDB. The bug appears to be related to the MySQL implementation of instant DROP COLUMN, which differs substantially from MDEV-11369 and MDEV-15562.
      Bug#38947039: Client lost connection after using optimizer_switch
      This fixes something in ha_innopart (InnoDB native partitioning), which would be the opposite of MDEV-22168. Such interface was never implemented in MariaDB Server.
      Bug#39040226 FTS index construction ignores memory limits
      This is something that would have to be accounted for when MDEV-16281 is implemented in MariaDB Server.
      Bug#39040128 Creation of multi-value index crashes on empty JSON array
      MariaDB does not implement MDEV-16281 or MDEV-25848 yet.
      Bug#38169053: MySQL 8.0.39/40 crashed due to Assertion failure error when running TRUNCATE
      This is related to TRUNCATE TABLE and the Global Data Dictionary of MySQL 8.0, which was never implemented in MariaDB Server.
      Bug#39129182 Mysqld Crash due to "Deadlock Detected!" Error
      The commit message claims that the code had been added in 2008, while this is actually fixing up something that was introduced by WL#13899 INSTANT DROP (and ADD) COLUMN in 2021, after MDEV-11369 and MDEV-15562 appeared in MariaDB Server. These implementations extend the record format in different ways.

      In MariaDB Server, a significant effort was made to fix some deadlocks some years ago, most notably for MDEV-29835, which is basically following up MDEV-14637 and fixing hangs that were introduced by an implementation of WL#6326 in MySQL 5.7 that violates some design rules. It is extremely unlikely that such a deadlock would be repeatable in MariaDB Server.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.