This is a read-only copy of the MariaDB Knowledgebase generated on 2025-02-21. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB 10.6.21 Release Notes

Download Release Notes Changelog Overview of 10.6

Alternate download from mariadb.org

Release date: 4 Feb 2025

MariaDB 10.6 is a current long-term series of MariaDB, maintained until July 2026. It is an evolution of MariaDB 10.5 with several entirely new features.

MariaDB 10.6.21 is a Stable (GA) release.

For an overview of MariaDB 10.6 see the What is MariaDB 10.6? page.

Thanks, and enjoy MariaDB!

Notable Items

Storage Engines

InnoDB

  • Fix possible InnoDB hang while running out of buffer pool (MDEV-35409)
  • Fix assertion failure on cascading foreign key update of table with vcol index in parent (MDEV-29182)
  • Fix potential issue in secondary Index with ROW_FORMAT=COMPRESSED and Change buffering enabled (MDEV-35679)
  • Fix issue where ON UPDATE SET NULL could not be specified on a NOT NULL column (MDEV-35445)
  • New parameter --skip-freed-pages for Innochecksum. Use this parameter to not get freed undo logs reported as existing undo log pages. (MDEV-35394)
  • Cloning of table statistics while saving the InnoDB table stats is now avoided (MDEV-35363)
  • InnoDB deadlock output query length increased to improve visibility of deadlocked statements. (MDEV-32576)

Memory

  • Fix possible crash on DELETE from a HEAP table (MDEV-22695)

Spider

  • Fix possible Spider thread hang in 'Update' state on 2nd INSERT (MDEV-35064)
  • Fix possible crash on bootup in spider_sys_open_table «ext-issue»«MDEV-32822», «ext-issue»«MDEV-34302» (MDEV-34925)

Replication

  • Fix incorrect formatting of timestamp during mariadb-binlog parsing of a binary log, causing point in time recovery discrepancies (MDEV-31761)
  • mariadb-binlog can now correctly process more than one logfile when --stop-datetime is specified (MDEV-35528)
  • Setting `pseudo_thread_id` to a value exceeding 4 bytes previously resulted in truncation when written to the binary log (MDEV-35646)
  • MariaDB now supports MySQL 8.0 binlog events, including PARTIAL_UPDATE_ROWS_EVENT, TRANSACTION_PAYLOAD_EVENT, and HEARTBEAT_LOG_EVENT_V2. (MDEV-35643)

Optimizer

  • Fix server crash in get_sort_by_table/make_join_statistics after INSERT into a view with ORDER BY (MDEV-29935)
  • Fix failing assertion causing disruption and replication failure (MDEV-24035)
  • Conditions with SP local variables are now pushed into derived table. Previous behaviour caused slow performance and table scans instead of using the pushed down condition (MDEV-35910)
  • NULL-aware materialization with IN predicate and single column no longer skips building sorted Ordered_key structures (MDEV-34665)
  • Fix possibly wrong result using a degenerated subquery (SELECT <expr>) with window function (MDEV-35869)

Partitioning

  • History is now stored on the same partitions on different Galera nodes when system versioning is enabled (MDEV-35096)
  • Fix possible hang or crash during InnoDB purge with HASH indexes during ALTER TABLE (MDEV-25654)
  • EXCHANGE PARTITION now works for tables with unique blobs (MDEV-35612)
  • algorithm = instant can now correctly be used if a table has partitions and one tries to change a column with an index which is not the partitions key. This previously gave error "ERROR 1846 (0A000): ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY". (MDEV-34813)

Character Sets

  • Fix assertion falilure and possible index corruption with unique key and nopad collation without DESC or HASH keys (MDEV-30111)
  • Fix client crash the command after client sets character set to utf32 (MDEV-34090)
  • Fix possible runtime error caused by XA RECOVER applying a zero offset to a null pointer (MDEV-35549)
  • Fix issue where functions in default values in tables with certain character sets could break SHOW CREATE and mariadb-dump (MDEV-29968)

Galera

  • Galera updated to 26.4.21
    • NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes nodes have been updated
  • Fix streaming replication transaction crash with innodb_snapshot_isolation (MDEV-35281)
  • Fix sporadic failure of async replication on Galera async replica nodes with parallel replication enabled (MDEV-35465)
  • Fix possible failure of wsrep_sst_rsync SST script if user specified aria_log_dir_path different from default data directory (MDEV-35387)
  • Fix cluster node hang during shutdown if threadpool is used (MDEV-35710)
  • MariaDB Cluster and ALTER INPLACE running in Total Order Isolation (wsrep_OSU_method=TOI) now correctly abort a DML INSERT operation in InnoDB (MDEV-33064)
  • Fix possible crash in wsrep_check_sequence (MDEV-33245)
  • Fix sporadic reporting of success when a deadlock error occurs under --ps-protocol BF aborted transaction (MDEV-35446)
  • Rows in table mysql.gtid_slave_pos are now correctly deleted on Galera nodes when wsrep_gtid_mode = 1 is used, which previously lead to wrong information about replica delays (MDEV-34924)
  • Undefined behavior could occur when attempting to perform INSERT DELAYED on a Galera cluster node. (MDEV-35852)
  • Fix issue where DROP TABLE on child and UPDATE of parent table can cause a metadata lock BF-BF conflict when applied concurrently. (MDEV-35018)
  • Galera protocol versions are now shown by show status - change available with installation of galera library 26.4.21+ (MDEV-35505)
  • Fix possible crash in wsrep_sst_mariabackup script when upgrading node in cluster from 10.11.9 to 10.11.10. (MDEV-35526)
  • wsrep_sst_mariabackup.sh no longer uses --use-memory default (100MB) resulting in prepare stage which could take hours (MDEV-35749)

Audit Plugin

General

  • Fix possible crash where server could not construct a geomery object from the input (MDEV-33987)
  • Fix trigger created with "CREATE TRIGGER `table1_after_insert` AFTER INSERT" which is adding rows to another table using "FOR EACH ROW insert into table2(`id`, `name`) values (NEW.`id`, NEW.`name`);" that did not work correctly when if bulk inserts are used by the application. Only the first row of the bulk insert would be added to the table (MDEV-34958)
  • After changing the table definition for the system table 'mysql.servers', a following execution of CREATE SERVER would previously lead to a server crash.
    • NOTE: System tables should never be modified by a user anyhow (MDEV-33783)
  • Fix connection hang after query on a partitioned table with UNION and LIMIT ROWS EXAMINED (MDEV-35571)
  • Fix possible crash during index traversal using `tree_search_next`. (MDEV-28130)
  • FIx assertion failure where CURRENT_USER was not correctly copied during condition pushdown (MDEV-35090)
  • START TRANSACTION, when triggering an implicit commit as a COMMIT or ROLLBACK has not been executed before, now resets optional characteristics added to the last START TRANSACTION command (MDEV-35335)
  • sql_mode='NO_UNSIGNED_SUBTRACTION' now works for multiple unsigned integers (MDEV-35651)
  • The "Failed to write to mysql.slow_log" error no longer shown without a detailed reason for the error (MDEV-20281)
  • Fix doublewrite recovery of innodb_checksum_algorithm=full_crc32 encrypted pages (MDEV-34898)
  • Can now correctly add a foreign key on a table with a long UNIQUE multi-column index that contains a foreign key as a prefix (MDEV-33658)
  • During an online table rebuild of an InnoDB statistics table, opt_search_plan_for_table() no longer sometimes degrades to full table scan (MDEV-35443)
  • Fix debian-start script failure when using non-standard socket path (MDEV-35907)
  • Fix possible hang or crash where zero offset applied to null pointer (MDEV-35864)
  • Fixed issue where ST_PointFromWKB ignored SRID parameter and returned 0 (MDEV-32619)
  • Fix possible hang during CREATE TABLE…SELECT error handling, especially with innodb_snapshot_isolation enabled (MDEV-35647)
  • Fix incorrect locking order of LOCK_log/LOCK_commit_ordered and LOCK_global_system_variables (MDEV-29744)
  • Fix rare cases where binlog entries could receive incorrect timestamps on secondary nodes of a Galera cluster, potentially impacting replication accuracy (MDEV-35157)
  • Fix possible memory leak on SHUTDOWN (MDEV-35326)
  • Fix possible memory leak while shutting down server after installing the auth_gssapi plugin (MDEV-35575)
  • Fix possible server crash when using INSERT DELAYED on tables with virtual columns. (MDEV-26891)
  • Fix possible Spider crash or hang when the first byte of a connection key is changed (MDEV-34849)
  • A BEFORE INSERT Trigger previously returned with error ""Field 'xxx' doesn't have a default value", if a NULL value is added for a column defined NOT NULL without explicit value and no DEFAULT specified (MDEV-19761)
  • Calling a stored routine that executes a join on three or more tables and referencing not-existent column name in the USING clause could previously result in a crash on its second invocation. (MDEV-24935)
  • Fix rare cases where binlog entries could receive incorrect timestamps on secondary nodes of a Galera cluster, potentially impacting replication accuracy (MDEV-35157)

Security

Changelog

For a complete list of changes and bugfixes made in MariaDB 10.6.21, with links to detailed information on each push, see the changelog.

Contributors

For a full list of contributors to MariaDB 10.6.21, see the MariaDB Foundation release announcement.


Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.

MariaDB may already be included in your favorite OS distribution. More information can be found on the Distributions which Include MariaDB page.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.