Release Notes for MariaDB Enterprise Server 10.4.32-22

Overview

MariaDB Enterprise Server 10.4.32-22 is a maintenance release of MariaDB Enterprise Server 10.4. This release includes a variety of fixes. Users of MariaDB Enterprise Server 10.4.31-21 are encouraged to upgrade. Additional steps are required if upgrading from Enterprise Server 10.4.31-21 to 10.4.32-22.

MariaDB Enterprise Server 10.4.32-22 was released on 2023-12-12.

Fixed Security Vulnerabilities

CVE (with cve.org link)

CVSS base score

CVE-2023-22084

4.9

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)

  • DROP INDEX followed by CREATE INDEX may corrupt data (MDEV-32132)

  • 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 the BINLOG statement 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 using ROW_FORMAT=COMPRESSED, the server can crash with the warning "InnoDB: 2048 bytes should have been read. Only 0 bytes read. Retrying for the remaining bytes." in the server log (MDEV-31875)

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

  • 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 an 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)

  • 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.4.32-22 is provided for:

  • CentOS 7 (x86_64)

  • Debian 10 (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)

  • Rocky Linux 8 (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 are supported on a subset of platforms. See MariaDB Engineering Policies for details.