Release Notes for MariaDB Enterprise Server 10.6.16-11
This page is part of MariaDB's Documentation.
The parent of this page is: Release Notes for MariaDB Enterprise Server 10.6
Topics on this page:
Overview
MariaDB Enterprise Server 10.6.16-11 is a maintenance release of MariaDB Enterprise Server 10.6. This release includes a variety of fixes.
MariaDB Enterprise Server 10.6.16-11 was released on 2023-12-12.
Fixed Security Vulnerabilities
CVE (with cve.org link) | CVSS base score |
4.9 |
Changes in Storage Engines
This release incorporates MariaDB ColumnStore engine version 23.10.0.
Backports
A new view sys.privileges_
by_ table_ by_ level in the sys schema, to show privileges granted to a table on a global, schema, or table level. (MENT-2007) Option s3_
debug can now be changed without the need to restart the server (MENT-2001) New Time Zone Options %Z and %z for DATE_
FORMAT (MENT-1902) Server Audit Log with Milliseconds Precision Timestamps (MENT-1744)
Notable Changes
Beginning with this release MariaDB Enterprise Server does not use Transparent Huge Pages (THP) anymore (MENT-2015)
Many new platforms have enabled THP by default for new release series. THP interferes with how memory is allocated and freed. THP does not work well with databases or other services that has a long uptime and constantly allocates and frees memory. THP causes excessive usage of memory which can lead to out-of-memory (OOM) crashes.
To check if the OS has enabled THP use
cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never
'[always]' means that THP is enabled.
Raise notes if indexes cannot be used (MDEV-32203)
In case of data type or collation mismatch (different error messages).
In case if a table field was replaced with something else (e.g., Item_
func_ conv_ charset) during a condition rewrite. Added options to write warnings and notes to the slow query log for slow queries. New variables added/changed:
note_
verbosity, which is a set of the options: basic - All old notes
unusable_
keys - Print warnings about keys that cannot be used for select, delete, or update. explain - Print unusable_
keys warnings for EXPLAIN queries. The default is 'basic,explain'.
For old installations the notable new behavior is that one will get notes about unusable keys when one does an EXPLAIN for a query.
Set either note_
verbosity to an empty string or setting sql_ notes=0 do disable notes.
log_
slow_ verbosity has a new option 'warnings'. If this is set then warnings and notes generated are printed in the slow query log up to log_ slow_ max_ warnings times per statement. log_
slow_ max_ warnings - Max number of warnings written to slow query log.
One can now use =ALL for any 'set' variable to set all options at once. (MDEV-32203)
[mariadb]
note_verbosity=ALL
SET @@note_verbosity=ALL
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.
Issues Fixed
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) Assertion failures in log_
sort_ flush_ list upon crash recovery. It is possible that if the server is killed and restarted right after recovery, the second recovery could fail. (MDEV-32029) 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)
Possible server crash when executing OPTIMIZE TABLE. InnoDB fails to check the overflow buffer while applying the operation to the table that was rebuilt (MDEV-28122)
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)
A cluster node crashes, which sometimes occurs in situations where brute force (BF) thread conflicting requested lock, and was trying to kill the victim transaction, but this victim transaction was also handled by brute force thread. (MDEV-30217)
Possible race condition between InnoDB purge and rollback of alter operation. Alter rollback marks the index as corrupted while the purge is working on the same index (MDEV-30802)
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) The MariaDB Enterprise Cluster node does not return from donor/desynced state to synced state with wsrep_
mode=BF_ ABORT_ MARIABACKUP (MDEV-31737) 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)
InnoDB may hang when using a small innodb_
buffer_ pool_ size (MDEV-32134) 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)
InnoDB may hang when running out of buffer pool (MDEV-32588)
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 JOIN::cleanup after erroneous query with view (MDEV-32164)
Possible server crashes in some create table-like scenarios where some generated indexes were automatically dropped. (MDEV-32449)
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)
InnoDB: Failing assertion purge_
sys.tail.trx_ no <= purge_ sys.rseg->last_ trx_ no() could cause a crash some time after a recovered incomplete transaction was rolled back after crash recovery. This may cause a crash loop. (MDEV-30100) 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
When ssl-mode=CA_
VERIFY is used and mariabackup is selected as the SST method an incremental state transfer(IST) may be rejected (MENT-2016) The following error will be shown in the server log
WSREP_SST: [ERROR] Donor does not know my secret! (20231003 15:29:10.448)
An SST will be triggered instead, which usually takes longer to complete.
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) When executing a statement with "WHERE inet6_
column IN ('','::1')", an empty string would also return values of "::", also they are not equal. (MDEV-31719) 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)
Corrupt index(es) on busy table when using FOREIGN KEY. Error "InnoDB: Flagged corruption of INDEX_
NAME in table DBNAME`.`TBLNAME in purge" in the server log. (MDEV-30531)lock_
row_ lock_ current_ waits counter in information_ schema.innodb_ metrics may become negative (MDEV-30658) InnoDB Recovery doesn't display encryption message when no encryption configuration passed (MDEV-31098)
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) Wrong information about innodb_
checksum_ algorithm in the information_ schema.SYSTEM_ VARIABLES. NONE or STRICT_ NONE, or STRICT_ INNODB should not be shown anymore (MDEV-31473) 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)
Write-ahead logging is broken for freed pages (MDEV-32552)
seconds_
behind_ master is inaccurate for Delayed replication (MDEV-32265) InnoDB may fail to recover after being killed in fil_
delete_ tablespace() with note "InnoDB: Multi-batch recovery needed at LSN 78671708" in the server log. Setting innodb_ force_ recovery=1 can be used as a workaround. (MDEV-31826) The wsrep_
sst_ method variable can be set to an invalid value using the SET statement. (MDEV-31470) A query over FEDERATED table that uses a Common Table Expression and is executed by pushing it down to a Federated backend could fail with "Unknown error 10000" error. (MENT-1668)
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 where no active transaction. (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)
A prepared statement can return a wrong result with a missing row, if IS NULL is used in the query (MDEV-9938)
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)
CONVERT TABLE TO PARTITION returns with "ER_
TABLEACCESS_ DENIED_ ERROR (1142)" although the user has sufficient privileges to execute the statement (MENT-1993)
Related to performance
Create separate tpool thread for async aio (MDEV-31095)
Optimize is_
file_ on_ ssd() to speedup opening tablespaces on Windows (MDEV-32228) Significant slowdown for query with many outer joins (MDEV-32351)
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 an executed query includes a stored function Each stored function call doubles the current count during processing (MDEV-32475)
UNDO logs still growing for write-intensive workloads (MDEV-32050)
Replication stops when there exists an exclusive lock on an InnoDB supremum record in prepared transactions on the replica. (MDEV-30165)
Key not used when IN clause has both signed and unsigned values (MDEV-31303)
Parallel replication deadlock victim preference code erroneously removed. As a result, parallel slave could retry transaction execution more times than necessary. (MDEV-31655)
Executing a KILL QUERY or KILL CONNECTION or an enabled parallel replication can lead to performance degradation as conflicts wait for the time of --innodb-lock-wait-timeout. This can be seen with SHOW PROCESSLIST if one worker thread is in the "killed" state and some other worker thread is stuck in a query (MDEV-32096)
Disable read-ahead for temporary tablespace (MDEV-32145)
Related to install and upgrade
mysql_
install_ db doesn't properly grant proxy privileges to all default root user accounts (MDEV-21194) The second node cannot be started because Galera SST rsync wants to replicate snapshot directory when datadir is on an NetApp storage with NFS access (MDEV-31332)
Platforms
In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.6.16-11 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) 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".
Installation Instructions
Enterprise Cluster Topology with MariaDB Enterprise Server 10.6
Primary/Replica Topology with MariaDB Enterprise Server 10.6
HTAP Topology with MariaDB Enterprise Server 10.6 and MariaDB Enterprise ColumnStore 6
Single-Node Enterprise ColumnStore 6 with MariaDB Enterprise Server 10.6 and Object Storage
Single-Node Enterprise ColumnStore 6 with MariaDB Enterprise Server 10.6
Enterprise Spider Sharded Topology with MariaDB Enterprise Server 10.6
Enterprise Spider Federated Topology with MariaDB Enterprise Server 10.6