Release Notes for MariaDB Enterprise Server 10.5.23-17

Overview

MariaDB Enterprise Server 10.5.23-17 is a maintenance release of MariaDB Enterprise Server 10.5. This release includes a variety of fixes.

MariaDB Enterprise Server 10.5.23-17 was released on 2023-12-12.

Fixed Security Vulnerabilities

CVE (with cve.org link)

CVSS base score

CVE-2023-22084

4.9

Changes in Storage Engines

  • This release incorporates MariaDB Enterprise ColumnStore 5.6.8-2.

Notable changes

  • CHACHA20-POLY1305 support when WolfSSL is used (MDEV-31653)

  • The semi-synchronous replication magic number error "[ERROR] Read semi-sync reply magic number error" has been improved to show the semi-sync acknowledgment reported with printing the hex dump of the failing network packet (MDEV-32365)

  • Disable TLS v1.0 and 1.1 for MariaDB. TLSv1.1 removed from the default tls_version system variable. (MDEV-31369)

    • A warning is shown if TLSv1.0 or TLSv1.1 are selected.

Can result in data loss

  • With binary log enabled transactions that are filtered out of binlogging by any of binlog_{do,ignore}_db option may be lost in the engine. (MDEV-29989)

  • Race condition between page write completion and log checkpoint on crash recovery. This may break crash recovery in case of an operating system crash or abrupt loss of power or storage connectivity. (MDEV-32511)

  • Assertion fails in MDL_context::acquire_lock upon parallel replication of CREATE SEQUENCE (MDEV-31792)

Can result in hang or crash

  • A hang or crash could be observed in parallel replication of STATEMENT binlog format transactions modifying temporary tables. E.g. witnessed in rpl.rpl_parallel_temptable failure. (MDEV-10356)

  • A failure that occurs due to unnecessary replication of CACHE INDEX and LOAD INDEX INTO CACHE although this is a local operation. (MDEV-24912)

  • Rowid filter does not process a storage engine error correctly. A query that's executing a locking read and is using the Rowid Filter could cause a server crash if it has encountered a Lock Wait Timeout or Deadlock or a similar error when building the Rowid Filter. (MDEV-25163)

  • Crash when HAVING in a correlated subquery references columns in the outer query (MDEV-29731)

  • Due to a flaw in the SST scripts, it was not possible to execute SST when datadir, or some innodb log directory points to a path that is actually a symlink to the actual data directory. (MDEV-29893)

  • Server can crash when a table of type SPIDER starts with a comment string which is not a parameter for SPIDER. (MDEV-31117)

  • Node crashes when trying to execute "CREATE TABLE ... WITH SYSTEM VERSIONING AS SELECT ..." (MDEV-31285)

  • Lock wait timeout with INSERT-SELECT, autoinc, and statement-based replication (MDEV-31482)

  • Too strict assertion which leads to a problem since with BINLOG statements we can execute binlog events on master also (not only in applier). (MDEV-31651)

  • Galera cannot support wsrep_forced_binlog_format=[MIXED|STATEMENT] during CREATE TABLE AS SELECT. But a crash in the form of an assertion is an overreaction. Now a warning is issued instead. (MDEV-31660)

  • When a MariaDB Enterprise Cluster node is a replica of another MariaDB Enterprise Cluster, and optimistic replication is used, a node can hang. To support optimistic parallel replication, the replication slave abort needs to be skipped if a node remains in the cluster (wsrep_ready==ON), and replication is configured for optimistic or aggressive retry logic. (MDEV-31833)

  • After crash recovery, the server crashes with error "InnoDB: Checksum mismatch in the first page of file" in the server log (MDEV-31851)

  • Possible server crash when setting SPIDER option spider_delete_all_rows to 0 and delete all rows of a spider table (MDEV-31996)

  • InnoDB may hang with a low probability under any write workload. (MDEV-32049)

  • Use of nested row constructs in the left expression of an IN subquery should produce an error. Example: (a,(b,c)) IN (SELECT ...). In some degenerate cases, the error was not detected, and this causes a crash at a further stage in query processing. (MDEV-32320)

  • A table-less subquery with a LIMIT clause with non-zero offset, like ( SELECT two LIMIT 1 OFFSET 1) can produce unexpected results. If used inside ORDER BY, it can cause a crash. (MDEV-32324)

  • Possible crash in the full-text search plugin parser when using FULLTEXT...WITH PARSER. (MDEV-32578)

  • Intermittent crashes when using SEQUENCE in combination with Galera (MDEV-32024)

  • When two clients execute FLUSH TABLES WITH READ LOCK/UNLOCK TABLES on a Galera node, the node would sometimes get stuck in a paused state. This can cause the next requests to fail. (MDEV-32282)

  • Sometimes a node has been dropped from the cluster on startup/shutdown with async replication enabled due to inconsistency issues with the mysql.gtid_slave_pos table (between master and replica nodes), because previously this table was not previously replicated within the cluster. (MDEV-31413)

  • Server crashes in check_sequence_fields upon CREATE TABLE .. SEQUENCE=1 AS SELECT .. (MDEV-29771)

  • Crash when searching for the best split of derived table (MDEV-32064)

  • When a new user is connecting or a user is changing the password while FLUSH PRIVILEGES is executed, the server can crash (MENT-1707)

Can result in unexpected behavior

  • Prefix keys for CHAR return error "ERROR 1062 (23000): Duplicate entry 'ß' for key 'a'" for MyISAM and Aria when inserting data (MDEV-30048)

  • Possible wrong results of DISTINCT with NOPAD collations when SET big_tables=1; is set (MDEV-30050)

  • Missed kill when the SQL thread goes to wait for parallel slave worker queues to drain. KILL query did not affect a replication thread, which remained alive unexpectedly by the user. (MDEV-29974)

  • InnoDB tries to purge non-delete-marked records of an index on a virtual column prefix. An error like "InnoDB: tried to purge non-delete-marked record in index b of table test`.`t is shown in the server log (MDEV-30024)

  • lock_row_lock_current_waits counter in information_schema.innodb_metrics may become negative (MDEV-30658)

  • SHOW REPLICA STATUS Last_SQL_Errno race condition on Errored replica restart. A contradictory YES of slave_running_status and an error code in Last_SQL_Errno will be shown (MDEV-31177)

  • Auto-increment no longer works for explicit FTS_DOC_ID (MDEV-32017)

  • In some cases, replaying transactions on other MariaDB Enterprise Cluster nodes results in a wrong "Failed to insert streaming client" warning (MDEV-32051)

  • Wrong bit encoding using COALESCE (MDEV-32244)

  • getting error 'Illegal parameter data types row and bigint for operation '+' ' when using ITERATE in a FOR..DO (MDEV-32275)

  • While checking for altered column in foreign key constraints, InnoDB fails to ignore virtual columns (MDEV-32337)

  • Write-ahead logging is broken for freed pages (MDEV-32552)

  • seconds_behind_master is inaccurate for Delayed replication (MDEV-32265)

  • The wsrep_sst_method variable can be set to an invalid value using the SET statement. (MDEV-31470)

  • Misleading help text for mysqlbinlog (mariadb-binlog) -T/--table option (MDEV-25369)

  • mbstream breaks page compression on XFS (MDEV-25734)

  • MyISAM tables took transactional metadata locks although there were no active transactions. (MDEV-28820)

  • "rpm --setugids" breaks PAM authentication (MDEV-30904)

  • A multi-row Insert into an empty table fails if the table has a unique index using hash. CHECK TABLE returns with "Table 't1' is marked as crashed and should be repaired" (MDEV-32015)

  • wrong table name in InnoDB's "row too big" errors (MDEV-32128)

  • Slow log Rows_examined for the slow_log can be out of range. In this case the server log includes "([ERROR] Unable to write to mysql.slow_log)" (MDEV-30820)

  • An incorrect examined rows number is used in some cases like in the slow query log, with LIMIT ROWS EXAMINED, or with ANALYZE FORMAT=JSON when a query gets executed inside of a function. Each stored function call doubles the current count during processing (MDEV-31742)

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.5.23-17 is provided for:

  • CentOS 7 (x86_64)

  • Debian 10 (x86_64, ARM64)

  • Debian 11 (x86_64, ARM64)

  • Debian 12 (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 20.04 (x86_64, ARM64)

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