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

Release Notes for MariaDB Enterprise Server 10.6.22-18

MariaDB Enterprise Server 10.6.22-18 is a maintenance release of MariaDB Enterprise Server 10.6. This release includes a variety of fixes.

MariaDB Enterprise Server 10.6.22-18 was released on 11 Jun 2025.

Fixed Security Vulnerabilities

CVE (with cve.org link)CVSS base score
CVE-2025-306935.5
CVE-2023-529694.9
CVE-2023-529704.9

Changes in Storage Engines

  • This release incorporates MariaDB ColumnStore engine version 23.10.4.

Notable changes

  • New user variable, analyze_max_length, default value 4G. Any field that is bigger than this value in bytes will be ignored by ANALYZE TABLE PERSISTENT to not collect statistics for long char/varchars unless it is specified in FOR COLUMNS(). (MENT-2301)
  • SBOM now includes 'license' and 'copyright' information, improving security compliance and dependency tracking. (MENT-2311)
  • MariaDB effectively running as root CAP_DAC_OVERRIDE (MDEV-36229)
  • my_getopt compares option names case sensitively (MDEV-27126)
  • Support has been added for Oracle Linux 8 and 9

Issues Fixed

Can result in data loss

  • Assertion InnoDB searching row in wrong partition for multiple system versioned DELETE with same timestamp and same multistatement transaction (MDEV-36115)

Can result in hang or crash

  • Incorrect error handling on DDL with FULLTEXT INDEX (MDEV-36061)
  • ALTER TABLE…SEQUENCE does not work correctly with InnoDB (MDEV-36038)
  • Race conditions between ALTER TABLE or OPTIMIZE TABLE and the purge of transaction history were fixed. (MDEV-36122)
  • Server aborts while deleting the record in spatial index (MDEV-35420)
  • The server could crash when an UPDATE is about to commit concurrently with a CREATE INDEX that includes VIRTUAL columns (MDEV-36281)
  • ASAN errors in dict_sys_t::load_table / get_foreign_key_info after failing to load a table (MDEV-33167)
  • ALTER TABLE…DROP COLUMN after a failed ALTER TABLE…DROP COLUMN could lead to a server crash (MDEV-36236)
  • Field pointer may be uninitialized in fill_record (MDEV-36181)
  • A primary server could crash when a semi-sync connection is stopped, if the primary previously disabled semi-sync replication while the connection was already up (and `rpl_semi_sync_master_wait_no_slave=0`). (MDEV-36359)
  • Incorrect undo logging for indexes on virtual columns whose index ID does not fit in 32 bits (MDEV-36613)
  • With wsrep_ignore_apply_errors = 0, the node crashes due to assertion thd->is_error() failed in Sql_cmd_dml::prepare(), shown in the logs (MDEV-35946)
  • In some cases, if there are MDL locks (for example, when LOCK TABLE is executed), a node could get stuck in the system thread due to incorrect handling of metadata locks (MDL) in server code when a transaction was BF aborted. (MDEV-35941)
  • Regression after the fix for MDEV-31413 - sometimes the server crashes with an assertion in wsrep::transaction::before_rollback(), for example when using OPTIMIZE TABLE on an ARIA table with wsrep_osu_method=RSU. (MDEV-32631)
  • SST failure occurs when gtid_strict_mode is enabled under high load, such as OLTP load is active on the primary node. A typical symptom of this error is the presence of the diagnostic "[ERROR] mariadbd: Error writing file 'binlog'", in the debug version it is also possible to crash on assertion in the wsrep::transaction::before_rollback() function with the message "Assertion `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort || state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' failed". (MDEV-34891)
  • In Galera, creating sequence with a small cache leads to signal 6 error: [ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTED. (MDEV-33850)
  • Under high load wsrep internal thread may terminate due to memory pressure conditions, but this is not a crash, however in debug version user may encounter assertion in wsrep_to_isolation_begin() function with following message: "int wsrep_to_isolation_begin(THD*, const char*, const char*, const TABLE_LIST*, const Alter_info*, const key_array*, const HA_CREATE_INFO*): Assertion `(0)' failed." (MDEV-36116)
  • Assertion `commit_trx' failed in innobase_commit() (ha_innodb.cc). An INSERT with sql_log_bin=0 is still replicated in Galera (per MDEV-7205), despite binary logging being disabled. This results in a partial binlog bypass, requiring a two-phase commit (2PC). During 2PC, the INSERT is first prepared (entering the PREPARED state in InnoDB), and on commit, the new assertion from MDEV-24035 fails, causing a crash with "Assertion 'commit_trx' failed" in logs. (MDEV-35658)
  • When a sequence is used and inserts run in parallel on multiple Galera nodes, a transaction may be aborted after passing certification. If it then attempts to roll back, the binlog statement cache—which includes reserved sequence values—may be written prematurely. This causes a crash with the diagnostic "WSREP: FSM: no such a transition REPLICATING -> COMMITTED" in the logs, as the transaction is supposed to replay and only write to the binlog during the final commit. (MDEV-33589)
  • A Galera node may hang due to improper mutex handling: a thread held lock_sys.wait_mutex while triggering a streaming replication rollback, which also tried to acquire THD::LOCK_thd_kill, leading to incorrect mutex usage. In debug versions, this leads to diagnostics like "safe_mutex: Found wrong usage of mutex 'wait_mutex' and 'LOCK_thd_data'", but in both debug and release versions, there is some probability that the node may hang. (MDEV-36509)
  • corruption when query cache cannot allocate block (MDEV-34075)
  • Stack looping and SIGSEGV in Item_args::walk_args on UPDATE (MDEV-31647)
  • Server crash in find_field_in_tables, Assertion `name' failed in find_field_in_table_ref (MDEV-25012)
  • Long server_audit_file_path causes buffer overflow (MDEV-36245)
  • Server crash when inserting from derived table containing insert target table (MDEV-32086)

Can result in unexpected behaviour

  • CREATE INDEX fails to heal a FOREIGN KEY constraint (MDEV-35962)
  • Doublewrite recovery of innodb_checksum_algorithm=full_crc32 page_compressed pages does not work (MDEV-36180)
  • Segfault on concurrent ALTER and SELECT for partitioned table (MDEV-31122)
  • ST_PointFromWKB ignores SRID argument and always creates the POINT with 0 for it's SRID (MDEV-32619)
  • mariadb-dump used wrong quoting character (MDEV-36268)
  • After a corrupted table on one node triggers the cluster to vote to evict a node that failed a transaction, the current master can’t commit any more and hangs. (MDEV-34998, MENT-2081)
  • MDEV-32157 intended to fix spider wrapper so that it is case insensitive, among other things. However that fix was incomplete, as the udf spider_direct_sql may still require case sensitivity. MDEV-35807 fixes this. (MDEV-35807)
  • Creating partitioned tables is disallowed when wsrep_osu_method=TOI and wsrep_strict_ddl=ON, preventing alteration or deletion of partitioned tables. (MDEV-27861)
  • Attempting to create a CONNECT engine table results in "non-InnoDB sequences in Galera cluster" error message in logs due to an incorrect engine check. (MDEV-35748)
  • innodb_snapshot_isolation=1 gives error for not committed row changes (MDEV-36639)
  • Aria engine: log initialization failed (MENT-2235)
  • MariaDB Backup returns with an error like "Error on file ./test/t1#P#p513.MYD open during `test`.`t1` table copy for partitioned MyISAM tables when running out of file handles (MENT-2089)
  • User without any privileges to a sequence can read from it and modify it via column default (MDEV-36413)
  • User has unauthorized access to a sequence through a view with security invoker (MDEV-36380)

Unexpected results

  • The untested ha_spider::index_first_internal constructs broken queries (MDEV-36324)
  • Wrong results from tables with a single record and an aggregate (MDEV-35238)
  • Unexpected error 1264 'Out of Range Value for Column' when inserting into ... select ... from a spider table (MDEV-35874)
  • group by handler missing constant fields when selecting from a view (MDEV-36307)
  • Tests calling the udf spider_copy_tables fail with --view-protocol (MDEV-36335)
  • dict_stats_fetch_from_ps() unnecessarily holds exclusive dict_sys.latch (MDEV-35436)
  • Stall and crash when page cleaner fails to generate free pages during Async flush (MDEV-36226)

Changelog

For the complete list of changes in this release, see the changelog.

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.6.22-18 is provided for:

  • AlmaLinux 8 (x86_64, ARM64)
  • AlmaLinux 9 (x86_64, ARM64)
  • Debian 11 (x86_64, ARM64)
  • Debian 12 (x86_64, ARM64)
  • Microsoft Windows (x86_64) (MariaDB Enterprise Cluster excluded)
  • Oracle Linux 8 (x86_64, ARM64)
  • Oracle Linux 9 (x86_64, ARM64)
  • Red Hat Enterprise Linux 8 (x86_64, ARM64)
  • Red Hat Enterprise Linux 9 (x86_64, ARM64, PPC64LE)
  • 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 20.04 (x86_64, ARM64)
  • Ubuntu 22.04 (x86_64, ARM64)
  • Ubuntu 24.04 (x86_64, ARM64)
  • Red Hat UBI 8 (x86_64, ARM64)
    • Red Hat UBI 8 is part of the Enterprise Server Docker Image. It does not support MariaDB Enterprise Cluster (Galera) or MariaDB ColumnStore.

Some components of MariaDB Enterprise Server are supported on a subset of platforms. See MariaDB Engineering Policies for details.

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.