Release Notes for MariaDB Enterprise Server 10.6.11-6

Overview

MariaDB Enterprise Server 10.6.11-6 is a maintenance release of MariaDB Enterprise Server 10.6. This release includes a variety of fixes.

MariaDB Enterprise Server 10.6.11-6 was released on 2022-12-21.

Backported Features

MariaDB Enterprise Server enables a predictable development and operations experience through an enterprise lifecycle. These new features have been backported after reaching maturity in MariaDB Community Server:

  • The new slave_max_statement_time system variable is available to set the maximum execution time for queries on replica nodes. (MENT-1566, MDEV-27161)

    • When a query takes more than slave_max_statement_time seconds to run on the replica (slave) node, the query is aborted, and replication stops with an error.

    • The system variable can be set to a decimal value, where the decimal component has microsecond precision.

    • When set to 0, there is no timeout.

    • The default value is 0.

  • To simplify maintenance, the ALTER TABLE statement supports new clauses to convert tables to partitions and partitions to tables. (MENT-1454)

    • To convert a partition to a table, use the CONVERT PARTITION .. TO TABLE .. clause:

      ALTER TABLE partitioned_table
         CONVERT PARTITION part1
         TO TABLE normal_table;
      
    • To convert a table to a partition, use the CONVERT TABLE .. TO PARTITION .. clause:

      ALTER TABLE partitioned_table
         CONVERT TABLE normal_table
         TO PARTITION part1 VALUES LESS THAN (12345);
      
    • The new CONVERT PARTITION and CONVERT TABLE clauses are crash-safe operations.

    • The EXCHANGE PARTITION clause can still be used, but it is not a crash-safe operation.

Notable Changes

  • The information_schema.INNODB_SYS_TABLESPACES view shows details about the InnoDB temporary tablespace, which is the tablespace where InnoDB temporary tables are stored. (MDEV-29479)

    • Starting with this release, the details details about the InnoDB temporary tablespace can be shown by querying for the name innodb_temporary:

      SELECT * FROM information_schema.INNODB_SYS_TABLESPACES
         WHERE name LIKE 'innodb_temporary';
      
  • When a table's default collation is set to the default collation for the table's character set, SHOW CREATE TABLE shows the COLLATE clause. (MDEV-29446)

    • In previous releases, MariaDB Enterprise Server reduced the size of SHOW CREATE TABLE output by excluding the COLLATE clause if the table's default collation was set to the default collation for the table's character set.

  • Implemented CHECK TABLE .. EXTENDED for InnoDB. (MDEV-24402)

    • When CHECK TABLE .. EXTENDED is executed, InnoDB confirms that no index contains orphan records.

    • InnoDB performs the check by counting all index records according to the current read view, and ensuring that any delete-marked records in the clustered index are waiting for the purge of history, and that all secondary index records point to a version of the clustered index record that is waiting for the purge of history. Normal MVCC reads and CHECK TABLE without EXTENDED would ignore these orphans.

Issues Fixed

Can result in data loss

Can result in a hang or crash

  • When a query contains an IN/ALL/ANY predicand and the subquery contains a GROUP BY clause with an IN/ALL/ANY predicand with a single-value subquery as the left operand, the server can crash. (MDEV-29350)

  • If an InnoDB table contains a foreign key constraint and the child table's DATABASE_NAME/TABLE_NAME.ibd is longer than 330 characters, when the parent table is renamed, the server can crash. (MDEV-29409)

  • When a DDL statement is executed using the INPLACE algorithm and innodb_adaptive_hash_index=ON is set, the server can hang. (MDEV-27700, MDEV-29384)

  • When renaming a table to a long name, the server can crash. (MDEV-29258)

  • When an ALTER TABLE statement causes InnoDB to rebuild a table with a spatial index, the server can crash. (MDEV-29520)

  • When an InnoDB temporary table contains a spatial index, the server can crash if the temporary table is dropped due to DROP TEMPORARY TABLE or client disconnect. (MDEV-29507)

  • When querying a partitioned table using the PARTITION syntax, if the WHERE clause results in an index merge, the server can crash. (MDEV-21134)

  • When detecting CTE dependencies of nested CTEs that includes one or more recursive CTEs, infinite recursion can occur until the server crashes. (MDEV-29361)

  • When the wsrep_notify_cmd system variable is configured to use the bundled wsrep_notify.sh script, the server can hang during startup. (MDEV-27682)

  • When selecting from InnoDB's information_schema views (such as INNODB_TRX, INNODB_LOCKS, and INNODB_LOCK_WAITS), if connections with open XA transactions are disconnected or killed at the same time, the server can crash. (MDEV-29575)

  • For some queries that involve tables with different but convertible character sets for columns taking part in the query, a repeatable execution of such queries in the prepared statement mode or as part of a stored routine can crash the server. (MDEV-16128)

  • When executing a SELECT .. UNION .. SELECT or EXPLAIN EXTENDED statement, the server can crash. (MDEV-23160)

  • When optimizer_switch='condition_pushdown_for_derived=on' is set and a view that includes a subquery is queried, the server crashes. (MDEV-16549)

  • When an application-time period with an empty name is added to a table using ALTER TABLE .. ADD PERIOD IF NOT EXISTS, the server can crash. (MDEV-18873)

    • In previous releases, statements like the following could cause the server to crash:

      ALTER TABLE t
        ADD PERIOD IF NOT EXISTS FOR `` (s,e);
      
  • When the Spider storage engine's ODBC foreign data wrapper is used with MariaDB Connector/ODBC 3.1.10 and later, the server can crash. (MENT-1415)

  • If the InnoDB change buffer is corrupted, the server can hang during shutdown. (MENT-1673, MDEV-30009)

  • When an InnoDB tablespace is in the non-canonical format from a previous ALTER TABLE operation that used the INSTANT algorithm, InnoDB can fail to apply changes to the table during crash recovery and while preparing a backup with MariaDB Enterprise Backup. (MDEV-29438)

  • When InnoDB tries to apply a INSERT_HEAP_DYNAMIC record to a secondary index in a table with ROW_FORMAT=DYNAMIC during crash recovery, the operation can fail with an error. (MDEV-29559)

    • In previous releases, the MariaDB ES error log could have errors like the following:

      [ERROR] InnoDB: Not applying INSERT_HEAP_DYNAMIC due to corruption on [page id: space=5, page number=4]
      
  • When an InnoDB thread updates InnoDB persistent statistics and another InnoDB thread inserts a BLOB concurrently, the server can hang due to a deadlock. (MDEV-29883)

  • If multiple threads request the same ROW_FORMAT=COMPRESSED page that is not present in the InnoDB Buffer Pool, the server can hang due to a race condition. (MDEV-27983)

Can result in unexpected behavior

Changes in Storage Engines

Interface Changes

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.6.11-6 is provided for:

  • CentOS 7 (x86_64)

  • Debian 10 (x86_64, ARM64)

  • Debian 11 (x86_64, ARM64)

  • Microsoft Windows (x86_64) (MariaDB Enterprise Cluster excluded)

  • Red Hat Enterprise Linux 7 (x86_64)

  • Red Hat Enterprise Linux 8 (x86_64, ARM64)

  • Red Hat Enterprise Linux 9 (x86_64, ARM64)

  • Rocky Linux 8 (x86_64, ARM64)

  • Rocky Linux 9 (x86_64, ARM64)

  • SUSE Linux Enterprise Server 12 (x86_64)

  • SUSE Linux Enterprise Server 15 (x86_64, ARM64)

  • Ubuntu 18.04 (x86_64, ARM64)

  • Ubuntu 20.04 (x86_64, ARM64)

  • Ubuntu 22.04 (x86_64, ARM64)

Some components of MariaDB Enterprise Server might not support all platforms. For additional information, see "MariaDB Corporation Engineering Policies".