Release Notes for MariaDB Enterprise Server 10.6.7-3
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.7-3 is a maintenance release of MariaDB Enterprise Server 10.6. This release includes a variety of fixes.
MariaDB Enterprise Server 10.6.7-3 was released on 2022-03-14.
Fixed Security Vulnerabilities
CVE (with cve.org link) | CVSS base score |
5.5 | |
5.5 | |
5.5 | |
5.5 | |
5.5 | |
5.5 | |
4.4 |
Notable Changes
Galera updated to 26.4.11
The maximum values for
innodb_ft_cache_sizeandinnodb_ft_total_cache_sizehave been changed from80000000to1099511627776(1 TB). (MENT-1428)On Windows,
core_fileis enabled by default. (MDEV-18439)New system variables have been added for the HashiCorp Key Management Plugin: (MENT-864)
hashicorp_key_management_cache_timeoutdefines the time (in milliseconds) after which the value of the key stored in the cache becomes invalid, and an attempt to read this data causes a new request to be sent to the vault server. If the value is0, then the keys will always be considered invalid, but they are still used if the vault server is unavailable andhashicorp_key_management_use_cache_on_timeoutis enabled. By default, the value is60000(1 minute).hashicorp_key_management_cache_version_timeoutdefines the time (in milliseconds) after which the information about latest version number of the key (which is stored in the cache) becomes invalid and an attempt to read this information causes a new request to be sent to the vault server. If the value is0, then information about latest key version numbers always considered invalid, but they are still used if the vault server is unavailable andhashicorp_key_management_use_cache_on_timeoutis enabled. By default, the value is0.For maximum flexibility, both of the new system variables can be configured with the
looseprefix:
[mariadb] loose_hashicorp_key_management_cache_timeout=120000 loose_hashicorp_key_management_cache_version_timeout=120000
Crash recovery improvements for InnoDB (MDEV-26784, MDEV-27022, MDEV-27183, MDEV-27610)
The default value of
innodb_change_bufferinghas been changed tonone. (MDEV-27734)
Issues Fixed
Can result in data loss
Columns in some
INFORMATION_SCHEMAtables are erroneously declared withDEFAULTclauses, which is not compliant with the SQL standard. (MDEV-18918)Consequently, when
sql_mode=EMPTY_STRING_IS_NULLis set, queries likeCREATE TABLE .. SELECT .. FROM INFORMATION_SCHEMA...could encounter replication errors like the following:
Error 'Invalid default value for 'TABLE_NAME'' on query. Default database: 'test'. Query: 'CREATE TABLE `t1` (`TABLE_NAME` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT ''When
CREATE OR REPLACE SEQUENCEis written to the binary log, the statement is not flagged as DDL, which causes the replica servers to execute the statement in an unsafe way if parallel replication is enabled. (MDEV-27365)After upgrading from MariaDB 10.3 or earlier, the names of some triggers can appear empty, and the trigger can't be dropped. (MDEV-25659)
Can result in a hang or crash
When a
FULLTEXTindex is added to an InnoDB table withALGORITHM=INPLACEand the indexed column uses thetis620character set, the server can crash with a segmentation fault (signal 11). (MDEV-24901)When MariaDB Server is used on the ARM architecture, which uses a weak memory model, an internal hash table implementation can cause the server to crash with a segmentation fault (signal 11). (MDEV-27088)
When
wsrep_sst_method=mariabackupandinnodb_force_recovery=1are set with MariaDB Enterprise Cluster, powered by Galera, the joiner node fails to perform an SST. (MDEV-26064)The SST log contains the following message related to the failure:
mariabackup: The option "innodb_force_recovery" should only be used with "--prepare". mariabackup: innodb_init_param(): Error occurred.
When
--stream=xbstreamis set, MariaDB Enterprise Backup can hang on lock acquisitions due to a deadlock. (MDEV-26558)When a stored procedure is defined with a query that contains a set function, and the set function's only argument is an outer reference to a column of a mergeable view, a derived table, or a CTE, the second execution of the stored procedure can cause the server to crash. (MDEV-25086)
When a derived table is created for certain queries that use subqueries over Views or CTEs, the server can crash with a segmentation fault (signal 11). (MDEV-25631)
When a stored procedure uses a cursor to run a query that requires an internal temporary table (such as queries containing an
ORDER BYclause), the server can crash due to a segmentation fault (signal 11). (MDEV-24827)Server can crash if a CTE or derived table is not used by the query. (MDEV-25766)
When
log_slow_verbosity = 'explain'is set and a query is executed that references a derived table, the server can crash while writing the query's execution plan to the slow query log. (MDEV-26249)When a stored procedure or a prepared statement is used to execute a query that performs a join which compares a
GEOMETRYcolumn with a different data type, executing the stored procedure or prepared statement twice can cause the server to crash. (MDEV-20770)When a system versioned table is created with
character_set_server=utf8mb4andcollation_server=utf8mb4_unicode_1400_ci, the server can crash. (MDEV-27195)When a system-versioned table is partitioned by
SYSTEM_TIME, executingDELETE FROM .. PARTITION(..)causes the server to crash. (MDEV-27217)When the following conditions are met, executing a prepared statement twice can cause the server to crash: (MDEV-23182)
The
in_predicate_conversion_thresholdsystem variable must be set to some valuen.The query must contain an
IN(...)clause with more thannstring literals.The query must require character set conversions.
After completing a successful SST with MariaDB Enterprise Cluster,
wsrep_local_state_commenton the donor node still says'Donor/Desynced'. (MDEV-27459)With MariaDB Enterprise Cluster, when
REPAIR VIEWis executed on a view that referencesinformation_schema.TABLES, the server can crash. (MDEV-25538)When
ALTER TABLE .. ADD COLUMNis used to instantly add columns in the middle of an InnoDB table, and then the tablespace is exported withFLUSH TABLES .. FOR EXPORT, and then the tablespace is re-imported withALTER TABLE .. IMPORT TABLESPACE, the server can crash. (MDEV-27272)When
optimizer_switch='not_null_range_scan=on'is set, the server can crash if an index on an InnoDB table is used to check a condition that can evaluate toNULL. (MDEV-22846)When a Spider table uses a
FLOATcolumn, the server can crash with an assertion failure. (MDEV-27184)In the MariaDB error log, the following error message could be written about the assertion failure:
Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.With MariaDB Enterprise Cluster, when a
CREATE TABLEstatement that defines a Foreign Key constraint is replicated to other cluster nodes, the nodes could apply the statement in parallel with other DML statements that affect the Foreign Key constraint, which causes the node to fail with an assertion failure. (MDEV-27276)With MariaDB Enterprise Cluster, when two transactions delete a row from two separate InnoDB tables in parallel and a foreign key causes a delete to cascade for both transactions to the same row in a third table, the server can crash with an assertion failure. (MDEV-26803, MDEV-26298)
In previous releases, this issue could be avoided by setting
wsrep_slave_threads=1.In the MariaDB error log, the following error message about the assertion failure could be written:
int wsrep::client_state::bf_abort(wsrep::seqno): Assertion `mode_ == m_local || transaction_.is_streaming()' failed. [ERROR] mysqld got signal 6 ;
When
innodb_flush_log_at_trx_commit=2andinnodb_flush_method=O_DSYNCare set, the server could crash with an assertion failure. (MDEV-27754)In the MariaDB error log, the following message about the assertion failure could be written:
InnoDB: Failing assertion: lsn >= log_sys.get_flushed_lsn()When InnoDB does not use RAM disk for storage, the server can occasionally hang during a log checkpoint. (MDEV-27416)
When using Enterprise Spider, the server can crash due to memory corruption. (MDEV-27240)
When
mariadbd --helpis executed, the server could try to lock the Aria control file. (MDEV-24788)In the MariaDB error log, the following error messages could be written about this:
[ERROR] mysqld: Can't lock aria control file '/var/lib/mysql/aria_log_control' for exclusive use, error: 11. Will retry for 0 seconds [ERROR] Plugin 'Aria' init function returned error. [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
When an index is dropped and re-adding to a table in a different position using the
INPLACEalgorithm and the table uses theMEMORYstorage engine, the server can crash. (MDEV-25555)When a DDL statement involves an InnoDB
FULLTEXTindex, an internal race condition could cause the server to hang. (MDEV-27017)When
innodb_undo_log_truncate=ONis set, the server can hang. (MDEV-27414)When
DROP DATABASEis executed, the server can crash due to an out-of-bounds result from InnoDB'sSUBSTR()function. (MDEV-27336)
Can result in unexpected behavior
When a multi-byte character set is used, the last character of a
TINYTEXTcolumn can be truncated, which makes it appear as a question mark ('?). (MDEV-24335)Subquery using the
ALLkeyword onTIMEcolumns produces a wrong result. (MDEV-27098)Subquery using the
ALLkeyword onDATEcolumns produces a wrong result. (MDEV-27072)When float literals are defined using scientific notation and the token also contains certain special characters, the parser incorrectly parses the float value and completely drops it from the request. (MDEV-27066)
When a double-encapsulated CTE query calls a function which reads a table that has been aliased in the CTE query, the server incorrectly raises an error with the
ER_NO_SUCH_TABLEerror code. (MDEV-26825)When a CTE is used in a subquery of a
DELETEstatement, the server incorrectly raises an error with theER_NO_DB_ERRORerror code. (MDEV-26470)When MariaDB Enterprise Cluster performs an SST, the SST scripts incorrectly try to read
ssl_caas a path to a directory of TLS CA certificates instead of usingssl_capathfor that purpose. (MDEV-27181)When MariaDB Enterprise Cluster performs an SST, the SST scripts do not always interpret
log_bin_indexcorrectly. (MDEV-26915)When an index is used for an
ORDER BY .. LIMITquery, the optimizer does not disable theRange Checked for Each Recordoptimization. (MDEV-27270)When
optimizer_switch='index_merge_sort_intersection=on'is set, the optimizer can incorrectly choose to merge an index that does not help, because the query conditions require the full index to be scanned. (MDEV-27262)When the
versionsystem variable is set, MariaDB Connector/C and themariadbclient do not interpret MariaDB Server's extended metadata properly, which can cause results from someSHOW ..to be right-aligned. (MDEV-27304)When an
INSERT .. SELECTstatement selects from and inserts into the same table, rows are counted twice, which can cause row numbers to be reported incorrectly in error messages. (MDEV-26698)When a replica server's relay log is rotated,
Seconds_Behind_MasterinSHOW REPLICA STATUScan temporarily show an incorrect value that is very high. (MDEV-16091)The
collationcolumn in theinformation_schema.STATISTICStable is incorrectly read asNULL. (MDEV-4621)When a join performs a comparison between an expression that uses a case-insensitive collation and an
ENUMcolumn that uses a binary collation, the comparison uses the wrong collation, which can cause results to be incorrect. (MDEV-26129)When
innodb_buffer_pool_sizeis changed dynamically withSET GLOBAL, InnoDB does not enforce the minimum value that is enforced on startup, which can result in an impossibly small buffer pool with some values ofinnodb_buffer_pool_chunk_size. (MDEV-27467)When the
DATABASE()function is used in some queries (such as queries usingUNION ALL), database names can be truncated to 34 characters, even though database names can have up to 64 characters. (MDEV-27544)When the
--symbolic-linksoption is disabled, such as when--skip-symbolic-linksor--disable-symbolic-linksis set, InnoDB still allows symbolic links and.islfiles to be created if tables have theDATA DIRECTORYoption. (MDEV-26870)When
CREATE TABLE t1 LIKE t2is executed and thet2table is a partitioned table that uses the MyISAM or Aria storage engines and has theDATA DIRECTORYoption defined for partitions, the operation fails with a file system error. (MDEV-25917)When
sql_mode=ONLY_FULL_GROUP_BYis set, some window functions incorrectly raise an error with theER_MIX_OF_GROUP_FUNC_AND_FIELDSerror code. (MDEV-17785)When a system-versioned table is partitioned by
SYSTEM_TIME` with a ``LIMITclause,CHECK TABLEcan incorrectly return an error. (MDEV-25552)The lateral derived optimization is not disabled for queries that use
WITH ROLLUP, which causes queries that useGROUP BYto return incorrect results. (MDEV-26337)When
optimizer_switch='split_materialized=on'is set, queries that use the split optimization can return the wrong results. (MDEV-27510, MDEV-27132)When a row is deleted from an InnoDB table, and then a new row with the same key is inserted into the table by a different transaction, InnoDB's MVCC code can incorrectly hide the new row from transactions that should see the changes: (MENT-1414)
Consequently, queries can try to insert another new row with the same key, which results in an error with the
ER_DUP_ENTRYerror code.When a replica server has
slave_parallel_modeset to'optimistic'or'aggressive', this can result in the following error inSHOW REPLICA STATUS:
Last_Errno: 1062 Last_Error: Error 'Duplicate entry 'VALUE' for key 'KEY_NAME'' on query. Default database: 'DATABASE_NAME'. Query: 'INSERT INTO ..'
With MariaDB Enterprise Audit, prepared statements can't be used to enable audit logging. (MENT-379)
In previous releases, using a prepared statement to set the
server_audit_loggingsystem variable would fail with the following error message:
ERROR 1 (HY000): Logging cannot be enabled.When a proxy user is used for authentication, the server checks the proxy user account for the following security controls: (MDEV-26339)
SSL/TLS requirements
Account locking
Password expiration
Starting with this release, the server checks the original user account for the security controls mentioned above.
When
wsrep_osu_method='TOI'is set with MariaDB Enterprise Cluster,ALTER SEQUENCEis not replicated to other nodes as DDL. (MDEV-19353)With MariaDB Enterprise Cluster, a race condition in group commit logic could cause cluster nodes to apply transactions in the wrong order, which could cause the server to fail with an assertion. (MDEV-27348)
In the MariaDB Error Log, the message about the assertion failure could look similar to the following:
void trx_rseg_update_wsrep_checkpoint(trx_rsegf_t*, const XID*, mtr_t*): Assertion `xid_seqno > wsrep_seqno' failed. [ERROR] mysqld got signal 6 ;
When the query cache is enabled and older clients or connectors that don't support the
CLIENT_EXTENDED_METADATAcapability flag are used, queries could fail with an unknown error. (MDEV-24487)As part of the fix, the
CLIENT_EXTENDED_METADATAcolumn has been added to theinformation_schema.QUERY_CACHE_INFOtable.
When
JSONis used with single row sub-selects or hybrid functions (such asIF()andCOALESCE()), the results could be considered normal strings instead of JSON. (MDEV-27018)A performance regression exists for updates to InnoDB tables that do not use an index. (MDEV-27499)
With MariaDB Enterprise Cluster, when
wsrep_gtid_mode=ONis set and the value ofserver_idis changed to a new value, transactions still use the oldserver_idvalue in GTIDs. (MDEV-26223)When
OFFSETis combined withSELECT DISTINCT, aJOIN, andIN(..),OFFSETis ignored. (MDEV-27382)When a numeric argument is provided to
COLLATE, the server always uses a collation of thelatin1character set instead of a collation ofcharacter_set_connection. (MDEV-24584)When a
COLLATEclause specifies a collation ofcharacter_set_connection, the query could fail with the following error message:
ERROR 1253 (42000): COLLATION ' …' is not valid for CHARACTER SET 'latin1'Queries that use JSON functions can't be killed with
KILL QUERYand don't respect the limit specified bymax_statement_time. (MDEV-24909)The Windows installer does not check if the selected directory is empty, which could cause MariaDB Enterprise Server to be installed in the same directory as a different version. (MDEV-27546)
The Windows Service for MariaDB Enterprise Server does not start if MariaDB Enterprise Server is installed in a restricted directory. (MDEV-27535)
The default value of
innodb_read_only_compressedhas been changed fromONtoOFF. (MDEV-27736)For users using the InnoDB Compressed row format, this change allows smooth upgrades to MariaDB Enterprise Server 10.6 and later without requiring users to update any configuration file.
Related to install and upgrade
When the
mysql.AddGeometryColumnandmysql.DropGeometryColumnstored procedures use the old defaultDEFINER = 'root@localhost',mariadb-upgradedoes not alter them to use the new defaultDEFINER = 'mariadb.sys@localhost'. (MDEV-27124)When MariaDB Server is upgraded from 10.2, 10.3, or 10.4, InnoDB upgrades the redo log format in a manner that is not crash-safe. (MDEV-27190)
When the
'root'@'localhost'user account does not exist,mariadb-upgradecan fail. (MDEV-26925)The output could show the following error messages:
ERROR 1449 (HY000) at line 832: The user specified as a definer ('root'@'localhost') does not exist FATAL ERROR: Upgrade failed
Changes in Storage Engines
This release incorporates MariaDB ColumnStore storage engine version 6.2.3.
Interface Changes
ER_
VERS_ error code addedNOT_ ALLOWED innodb_
buffer_ system variable minimum value changed frompool_ size 5242880to2097152innodb_
change_ system variable default value changed frombuffering alltononeinnodb_
force_ system variable removedload_ corrupted innodb_
ft_ system variable dynamic changed fromcache_ size NotoYesinnodb_
ft_ system variable maximum value changed fromcache_ size 80000000to1099511627776innodb_
ft_ system variable dynamic changed fromtotal_ cache_ size NotoYesinnodb_
ft_ system variable maximum value changed fromtotal_ cache_ size 1600000000to1099511627776innodb_
read_ system variable default value changed fromonly_ compressed ONtoOFFmariadb-upgrade--check-if-upgrade-is-needed command-line option addedmariadbd--hashicorp-key-management-cache-timeout command-line option addedmariadbd--hashicorp-key-management-cache-version-timeout command-line option addedmariadbd--innodb-force-load-corrupted command-line option removedmariadbd--rocksdb-ignore-datadic-errors command-line option addedrocksdb_
ignore_ system variable addeddatadic_ errors
Platforms
In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.6.7-3 is provided for:
CentOS 7 (x86_
64) Debian 9 (x86_
64, ARM64) Debian 10 (x86_
64, ARM64) Debian 11 (x86_
64, ARM64) Microsoft Windows (x86_
64) Red Hat Enterprise Linux 7 (x86_
64) Red Hat Enterprise Linux 8 (x86_
64, ARM64) SUSE Linux Enterprise Server 12 (x86_
64) SUSE Linux Enterprise Server 15 (x86_
64, ARM64) Ubuntu 18.04 (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".
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
