Release Notes for MariaDB Enterprise Server 10.4.31-21
MariaDB Enterprise Server 10.4.31-21 is a maintenance release of MariaDB Enterprise Server 10.4. This release includes a variety of fixes.
MariaDB Enterprise Server 10.4.31-21 was released on 2023-09-11.
Backports
JSON_OVERLAPS() has been backported. (MENT-1853)
The
JSON_OVERLAPS()function can be used to compare two JSON documents to determine if they have any key-value pairs or array elements in common.
SELECT JSON_OVERLAPS('{"A": 1, "B": {"C":2}}', '{"A": 2, "B": {"C":2}}') AS is_overlap;+---------------------+
| is_overlap |
+---------------------+
| 1 |
+---------------------+JSON_SCHEMA_VALID() has been backported. (MENT-1796)
The
JSON_SCHEMA_VALID()function can be used to validate a JSON document against a JSON schema, as documented by the JSON Schema Draft 2020.This function can also be used in a
CHECKconstraint to verify that JSON documents are only stored in the database if they include required items and that the values are within a given range and length.
Notable Changes
The package for the
cracklib_password_checkplugin includes an SELinux policy, allowing the plugin to work with SELinux. (MDEV-18374)With Optimizer Trace, a
sel_arg_alloc_limit_hitrecord is written whenMAX_SEL_ARGSis reached. (MDEV-30964)MAX_SEL_ARGSis one of the limits in the optimizer that triggers short-cut of time-intensive or memory-intensive analysis for complexWHEREclauses.For example:
SELECT
JSON_DETAILED(JSON_EXTRACT(trace, '$**.setup_range_conditions'))
FROM information_schema.OPTIMIZER_TRACE;[
[
{
"sel_arg_alloc_limit_hit":
{
"alloced_sel_args": 16001
}
}
]
]ANALYZE FORMAT=JSONoutput includes InnoDB statistics. (MDEV-31577)For example:
table": {
"table_name": "t1",
...
"r_engine_stats": {
"pages_accessed": integer,
"pages_updated" : integer,
"pages_read_count" : integer,
"pages_read_time_ms" : double_val,
"old_rows_read" : integer,
},Slow query log output includes InnoDB engine information. (MDEV-31558)
InnoDB engine information output is enabled with
--log-slow-verbosity=innodbSample output:
# Pages_accessed: 184 Pages_read: 95 Pages_updated: 0 Undo_rows_read: 1\\
# Pages_read_time: 17.0204 Engine_time: 248.1297
Engine_timeis the time in milliseconds spent inside engine calls.Page_*variables are supported for the InnoDB storage engine.For the Spider storage engine, the default values and behavior of some system variables has changed: (MDEV-31524)
Prior to this release:
These variables used a value of -1 (the default) to indicate that Spider would use the default table value, and this value was not user visible.
Spider table parameters could set values, but these values would be overridden with the system variable value if the system variable was set to a value other than -1.
Starting with this release:
The default value for these system variables has been updated to reflect the actual default table value, rather than -1.
Where a value is set by a table parameter, this value overrides the system default and the value set by Spider system variable.
If a table parameter is not set, the Spider system variable's value is used. This behavior is unchanged.
See "Interface Changes" for a full list of updated default values.
Issues Fixed
Can result in data loss
With parallel replication, in some rare cases when the sequence of
FLUSH TABLE WITH READ LOCKS,UNLOCK TABLES, andSTOP REPLICAis executed, data can be lost on the replica. (MDEV-31509)
Can result in a hang or crash
With Aria storage engine, when Aria encryption is enabled and used but an encryption plugin is not loaded, the server can crash. (MDEV-26258)
With Galera Cluster, when
wsrep_sst_donorandwsrep_cluster_addressare set toNULLrather than an empty string, the server can crash. (MDEV-28433)When
optimizer_switch='optimize_join_buffer_size=off'is set, the server can crash. (MDEV-31348)When executing a
SELECTquery using an index forGROUP BYand filesort, the server can crash. (MDEV-30143)With MariaDB Connector/C, when the
mysql_list_fields()function is called against a view, the server can crash. (MDEV-30159)With Aria storage engine, changing
aria_sort_buffer_sizesettings to huge numbers and executingINSERT/UPDATEcan result in a crash. (MDEV-28054)With parallel replication, when a replica thread gets killed, the replica node can crash. (MDEV-31448)
With InnoDB storage engine, when
slave_parallel_modeisoptimisticandslave_parallel_threadsis greater than 0, anALTER SEQUENCEcan fail with anout-of-orderbinlog error if theSEQUENCEuses InnoDB. (MDEV-31503)Prior to this release, the following error can be raised:
Last_Error: Error 'An attempt was made to binlog GTID 0-1-100 which would create an out-of-order sequence number with existing GTID 0-1-100 and gtid stric mode is enabled' on query. Default database: 'test'. Query: 'alter sequence s1 restart with 1' will be shown.``
With replication, when
gtid_seq_nois set toDEFAULTin a session, the server can crash. (MDEV-31723)With InnoDB storage engine, when a
BINARY(0)orVARBINARY(0)column in an InnoDB table is indexed, the server can crash. (MDEV-19216)Setting
session_track_system_variablesglobally to an invalid value can cause the server to crash. (MDEV-25237)Replication from an older MariaDB Server version to a newer MariaDB Server version can break, and the server may crash. (MENT-1935)
A mismatch in hash values was caused by use of different hash functions, causing rows in tables having explicit or implicit unique hash indexes to be treated as different rows between different versions of MariaDB Server even though the data in the rows was the same.
Can result in unexpected behavior
For a System Versioned table with non-versioned columns, if the initial
INSERTincludes a versioned column, an "on duplicate key update" for the non-versioned column generates a history record. (MDEV-23100)With Spider storage engine, setting a system variable overrides the value set as a table parameter. (MDEV-31524)
The "pam_user_map" module does not correctly handle usernames or group names containing the "@" character. (MDEV-31336)
With some Unicode collations, JSON functions can return incorrect results. (MDEV-23187)
Stored routines with ROW variables set by subselects can produce incorrect results. (MDEV-31250)
Integer multiplication,
DIV, MOD, or ROUND/TRUNCATEcould return unexpected results when an argument is evaluated as-9223372036854775808(MDEV-30932)With Galera Cluster, creating a
TEMPORARY SEQUENCEcan cause inconsistency. (MDEV-31335)With Galera Cluster, the state of the cluster can only be retrieved from the primary component. (MDEV-21479)
information_schema.PARAMETERScan include outdated data when a stored routine is changed in one session while the stored routine is being used in a second session. (MDEV-31064)Queries that use multiple
RANKwindow functions can produce the wrong result. (MDEV-20010)Queries that use the < "less than" operator to compare a string with a prefixed BLOB key produce the wrong result. (MDEV-31800)
Recursive CTE execution is interrupted without errors or warnings when
max_recursive_iterationsis reached. (MDEV-31214)Starting with this release, a warning occurs when
max_recursive_iterationsis reached:Warning 1931 Query execution was interrupted. The query exceeded max_recursive_iterations = 1000. The query result may be incomplete.
On Microsoft Windows, when
lower_case_table_names=2,SHOW TABLESdoes not work properly. (MDEV-30765)When the system is busy,
STOP REPLICAcan take a long time. (MDEV-13915)With parallel replication,
Seconds_Behind_Mastercan show a wrong value. (MDEV-30619)With replication for System Versioned tables, having a parent table and a child table
WITH SYSTEM VERSIONINGwhere child table has a Foreign KeyCASCADEgenerates orphan rows on replica. (MDEV-31313)mariadb-dump --forcecan stop with the errorCouldn't execute 'SHOW CREATE FUNCTIONobject':even though--forceshould cause the error to be ignored. (MDEV-31092)With the ColumnStore storage engine and Federated storage engine,
ANALYZEcan return the incorrect value0forr_rows(MDEV-29284)ALTER TABLE .. MODIFY COLUMNcan break foreign key constraints and lead to unrestorable dumps. (MDEV-31086)With InnoDB storage engine, three concurrent
DELETEby aUNIQUEkey can cause an unexpected deadlock. (MDEV-10962)With InnoDB storage engine,
innochecksumfails withFloating point exceptionerror. (MDEV-31641)With HashiCorp key management plugin, possible memory leaks. (MENT-1874)
Using functions
MAX()orMIN()with functionsROUND(time),CEILING(time), orFLOOR(time)as an argument can return wrong results. (MDEV-23838)For transaction precise System Versioned tables, UPDATE can return an unexpected error: ERROR 1761 (23000):
Foreign key constraint for table 'xxx', record 'yyy' would lead to a duplicate entry in table 'xxx', key 'PRIMARY'(MDEV-25644)Assertion
const_item_cache == truefailed inItem_func::fix_fieldswhen a flow control statement (such asIF()) was used in a generated column. (MDEV-31319)Creating a table with a foreign key (with a cascade action) defined on a base column of a virtual column is not rejected. (MDEV-18114, MDEV-31322)
Starting with this release, it is no longer possible to create
STOREDgenerated columns andCHECKconstraints when values of the affected columns can be changed by foreign key constraint actions, such asSET NULLorON UPDATE CASCADE.Starting with this release, this results in an error like:
ERROR 1901 (HY000): Function or expression 'f_id' cannot be used in the GENERATED ALWAYS AS clause of 'v_id'
Starting with this release, for existing tables with STORED generated columns,
SET NULLandON UPDATE CASCADEare ignored.
Related to performance
With partitioning, possible slow down of queries. (MDEV-24712)
Interface Changes
aria_sort_buffer_size system variable maximum value changed from
18446744073709551615to1152921504606846975(MDEV-28054)aria_sort_buffer_size system variable minimum value changed from
4096to16376(MDEV-28054)ER_JSON_INVALID_VALUE_FOR_KEYWORD error code added (MENT-1796)
ER_JSON_SCHEMA_KEYWORD_UNSUPPORTED error code added (MENT-1796)
ER_QUERY_EXCEEDED_ROWS_EXAMINED_LIMIT error code removed (MDEV-31214)
ER_QUERY_RESULT_INCOMPLETE error code added (MDEV-31214)
ER_QUERY_TIMEOUT error code removed
ER_UNUSED_1 error code added
JSON_OVERLAPS() function added (MENT-1853)
JSON_SCHEMA_VALID() function added (MENT-1796)
myisam_sort_buffer_size system variable maximum value changed from
18446744073709551615to1152921504606846975(MDEV-28054)
Spider Storage Engine
spider_auto_increment_mode system variable default value changed from
-1to0(MDEV-31524)spider_bgs_first_read system variable default value changed from
-1to2(MDEV-31524)spider_bgs_mode system variable default value changed from
-1to0(MDEV-31524)spider_bgs_second_read system variable default value changed from
-1to100(MDEV-31524)spider_bka_mode system variable default value changed from
-1to1(MDEV-31524)spider_bka_table_name_type system variable default value changed from
-1to0(MDEV-31524)spider_buffer_size system variable default value changed from
-1to16000(MDEV-31524)spider_bulk_size system variable default value changed from
-1to16000(MDEV-31524)spider_bulk_update_mode system variable default value changed from
-1to0(MDEV-31524)spider_bulk_update_size system variable default value changed from
-1to16000(MDEV-31524)spider_casual_read system variable default value changed from
-1to0(MDEV-31524)spider_connect_timeout system variable default value changed from
-1to6(MDEV-31524)spider_crd_bg_mode system variable default value changed from
-1to2(MDEV-31524)spider_crd_interval system variable default value changed from
-1to51(MDEV-31524)spider_crd_mode system variable default value changed from
-1to1(MDEV-31524)spider_crd_sync system variable default value changed from
-1to0(MDEV-31524)spider_crd_type system variable default value changed from
-1to2(MDEV-31524)spider_crd_weight system variable default value changed from
-1to2(MDEV-31524)spider_delete_all_rows_type system variable default value changed from
-1to1(MDEV-31524)spider_direct_dup_insert system variable default value changed from
-1to0(MDEV-31524)spider_direct_order_limit System Variable system variable default value changed from
-1to 9223372036854775807 (MDEV-31524)spider_error_read_mode system variable default value changed from
-1to0(MDEV-31524)spider_error_write_mode system variable default value changed from
-1to0(MDEV-31524)spider_first_read system variable default value changed from
-1to0(MDEV-31524)spider_init_sql_alloc_size system variable default value changed from
-1to 1024 (MDEV-31524)spider_internal_limit system variable default value changed from
-1to9223372036854775807(MDEV-31524)spider_internal_offset system variable default value changed from
-1to0(MDEV-31524)spider_internal_optimize system variable default value changed from
-1to0(MDEV-31524)spider_internal_optimize_local system variable default value changed from
-1to0(MDEV-31524)spider_load_crd_at_startup system variable default value changed from
-1to1(MDEV-31524)spider_load_sts_at_startup system variable default value changed from
-1to1(MDEV-31524)spider_low_mem_read system variable default value changed from
-1to1(MDEV-31524)spider_max_order system variable default value changed from
-1to32767(MDEV-31524)spider_multi_split_read system variable default value changed from
-1to100(MDEV-31524)spider_net_read_timeout system variable default value changed from
-1to600(MDEV-31524)spider_net_write_timeout system variable default value changed from
-1to600(MDEV-31524)spider_quick_mode system variable default value changed from
-1to3(MDEV-31524)spider_quick_page_byte system variable default value changed from
-1to10485760(MDEV-31524)spider_quick_page_size system variable default value changed from
-1to1024(MDEV-31524)spider_read_only_mode system variable default value changed from
-1to0(MDEV-31524)spider_reset_sql_alloc system variable default value changed from
-1to1``([MDEV-31524](https://jira.mariadb.org/browse/MDEV-31524))spider_second_read system variable default value changed from
-1to0(MDEV-31524)spider_select_column_mode system variable default value changed from
-1to1(MDEV-31524)spider_selupd_lock_mode system variable default value changed from
-1to1(MDEV-31524)spider_semi_split_read system variable default value changed from
-1to2(MDEV-31524)spider_semi_split_read_limit system variable default value changed from
-1to9223372036854775807(MDEV-31524)spider_semi_table_lock system variable default value changed from
1to0(MDEV-31524)spider_semi_table_lock_connection system variable default value changed from
-1to1(MDEV-31524)spider_skip_default_condition system variable default value changed from
-1to0(MDEV-31524)spider_skip_parallel_search system variable default value changed from
-1to0(MDEV-31524)spider_split_read system variable default value changed from
-1to9223372036854775807(MDEV-31524)spider_store_last_crd system variable default value changed from
-1to1(MDEV-31524)spider_store_last_sts system variable default value changed from
-1to1(MDEV-31524)spider_sts_bg_mode system variable default value changed from
-1to2(MDEV-31524)spider_sts_interval system variable default value changed from
-1to10(MDEV-31524)spider_sts_mode system variable default value changed from
-1to1(MDEV-31524)spider_sts_sync system variable default value changed from
-1to0(MDEV-31524)spider_udf_ct_bulk_insert_interval system variable default value changed from
-1to10(MDEV-31524)spider_udf_ct_bulk_insert_rows system variable default value changed from
-1to100(MDEV-31524)spider_udf_ds_bulk_insert_rows system variable default value changed from
-1to3000(MDEV-31524)spider_udf_ds_table_loop_mode system variable default value changed from
-1to0(MDEV-31524)spider_udf_ds_use_real_table system variable default value changed from
-1to0(MDEV-31524)spider_use_handler system variable default value changed from
-1to0(MDEV-31524)spider_use_table_charset system variable default value changed from
-1to1(MDEV-31524)
Platforms
In alignment with the enterprise lifecycle, MariaDB Enterprise Server 10.4.31-21 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 Red Hat Enterprise Linux 8 packages)
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"..
Installation Instructions
Enterprise Spider Sharded Topology with MariaDB Enterprise Server 10.4
Enterprise Spider Federated Topology with MariaDB Enterprise Server 10.4
Upgrade Instructions
This page is: Copyright © 2025 MariaDB. All rights reserved.
Last updated
Was this helpful?

