Release Notes for MariaDB Xpand 23.09.1
MariaDB Xpand is a distributed SQL database. This is the first General Availability (GA) release in the MariaDB Xpand 23.09 series.
MariaDB Xpand 23.09.1 was released on 2023-09-21.
The changes listed here are relative to MariaDB Xpand 6.1.1.
Multi-region HA Clusters
Multi-region clusters provide full, zero RPO high availability in the face of a regional failure.
A single Xpand cluster can be deployed across multiple regions.
In the event of a complete region failure, the database remains completely available and able to serve traffic immediately.
No manual intervention is required to restore from backup since the fault tolerance and resilience is built into the cluster.
Within each region, multiple zones can also be configured. In the event of a single zone failure within a region, the other zones within the same region will provide HA.
For more information, see Configure Multi-Region HA Cluster with MariaDB Xpand.
Xpand supports native authentication and authorization support through the Lightweight Directory Access Protocol (LDAP), including the ability to map LDAP groups to User Roles in the database. (XPAND-34710)
LDAP integration provides a convenient option for system administrators to define a centralized access control of users and group permissions, without having to duplicate the setup for each distinct Xpand cluster or any other service capable of utilizing LDAP.
After configuration, each Xpand node in the cluster can directly process login requests for LDAP users by making connections with one or multiple LDAP servers using the
MaxScale 23.08.1 or higher is required for LDAP integration.
For more about the XFS file system, see The XFS File System at redhat.com.
Rocky 9 and RHEL 9 Support
MariaDB Xpand 23.09 supports Rocky Linux 9 and RHEL 9 operating systems, as well as CentOS 7 and RHEL 7 operating systems.
CentOS 7 and RHEL 7 support will be removed in a future MariaDB Xpand release series.
Fast Parallel Import (
xpand_importis bundled with new installations of Xpand 23.09 by default.
clx_importwhich are now deprecated.
For more information see, see
xpand_import for MariaDB Xpand
If Zones are configured, they can now include a name (and not just a numbering). (XPAND-34524)
When dropping a node, the hostname can be used as an argument. (XPAND-20434)
Dropping nodes by
nodeid) is deprecated, and will be removed in a future release.
AWS S3 Backup and Restore can use IAM permissions. (XPAND-36793)
The default value for
multi_allocis automatically set as a percentage of available memory. (XPAND-37154)
The histograms in the
internode_latency_histogramstable have been modified to account for larger values. (XPAND-37160)
The total number of open file handles is added to the
SHUTDOWNrequests are logged to the
binlog reprotectis complete, a message is added to the log. (XPAND-35999)
The dependency on virtual relations that read from
/prochas been reduced. (XPAND-36340)
proc_vrels_disable = true(default:
false) will turn specific vrels into no-op, including relevant monitoring by
statd. This affects the following objects in the
inaccessible_slicessystem table has been added that contains a list of slices for which there is no available replica. (XPAND-33936)
Support added for the
NATIONAL VARCHARdata type. (XPAND-36445)
Support added for the
LONG VARBINARYdata type.
LONG VARBINARYis aliased to
default_storage_enginesystem variable has been added.
For compatibility purposes, the default engine type is listed as InnoDB but the Clustrix engine type is applied. (XPAND-35519)
proxy_protocol_networkscan be configured with a comma separated list. (XPAND-36564)
SHOW PLUGINSstatement is supported.
SHOW PLUGINSwill always return
The C API has been updated to return the correct values for the
Roles can be specified as the
DEFINERof a procedure, function, or trigger. (XPAND-36519)
SET NAMES DEFAULTis supported by aliasing it to
SET NAMES utf8. (XPAND-32572)
Installation and Upgrade
Optimizer/Probability Distribution (PD) Enhancements
The way memory limits are applied to the query optimizer has been simplified, and clearer error messages are displayed when memory limits are exceeded. (XPAND-29196)
The cardinality estimate has been redesigned to improve the accuracy of the estimates and create more optimal query plans. (XPAND-36374)
The upper limit of the
max_sierra_opt_mem_MiBglobal variable has been increased. (XPAND-37008)
The number of scans performed with columns is limited by the number of processors. (XPAND-36989)
Index matching on the data type mismatch in-list predicate is prohibited to avoid incorrect results. (XPAND-36907)
The query optimizer generates more optimal plans. (XPAND-36994)
Parent FK tables are excluded from joins if no columns are required. (XPAND-36382)
The probability distributions are flushed to disk during
The probability distributions are synchronized as part of the
Fetching the initial probability distributions starts only with a subset. (XPAND-36811)
The accuracy of the probability distribution for freshly loaded data has been improved. (XPAND-36515)
The PD size has been added to the
The performance of
statdhas been improved. (XPAND-37224)
The internal program cache has been modified to make it more scalable. (XPAND-37193)
The performance of queries to the
system.nodeinfotable has been improved. (XPAND-37221)
The performance of queries to the
system.activitytable has been improved. (XPAND-37109)
Can result in data loss
Can result in a hang or crash
Cluster restart results in a memory leak. (XPAND-36552)
internode_timeout_msto a too-low value (for example
100ms) can prevent a cluster from forming. (XPAND-37241)
Rarely, when executing a soft group change the group management protocol encounters a race condition and causes a hard group change. (XPAND-37087)
When doing bulk writes with a columnar index, a crash can occur. (XPAND-35422)
Probability distribution (PD) causes an out of memory (OOM) condition. (XPAND-36662)
The lack of statistics (PDs) would misinform the predictive governor, which would allow queries to execute, even when they exceed sierra_
predictive_ governor_ threshold (which could lead to a crash). (XPAND-36336)
ANALYZEcan cause a crash. (XPAND-36839)
In rare cases, the global transaction manager causes a crash. (XPAND-36510)
Out of memory (OOM) condition occurs when there are a large number of slices. (XPAND-36733)
SPLIT_THRESHOLD_KBsystem variable too low can result in a crash. (XPAND-26826)
When a binlog transaction size exceeds 31KB, the system can crash. (XPAND-36203)
Using a large number of values in
COALESCE()can result in a crash. (XPAND-37068)
When a query compilation triggers a recompile, and the query optimizer finds an empty expression, it can result in a crash. (XPAND-36785)
Generating a debug dump can cause a crash. (XPAND-36701)
Can result in unexpected behavior
Flushing the Query Plan Cache (QPC) can be over-aggressive leading to more query re-compilation and resulting in slightly decreased performance. (XPAND-37036)
URIs can be incorrectly encoded when using backup/restore from S3. (XPAND-37091)
Wrong results could be generated when
OR/INare used with
WHEREpredicate when compared with
The history of slice splits shows an incorrect split size. (XPAND-36956)
The Rebalancer excessively swaps slices. (XPAND-36618)
Rebalancer incorrectly computes if a swap should occur. (XPAND-36681)
SELECT CURRENT_ROLE()retrieves stale roles. (XPAND-36525)
GRANT <role> TO <user>is not honored when a stored procedure is invoked with a set
The binlog reprotect process occupies all available task space on all nodes preventing other Rebalancer tasks from being performed. (XPAND-37246)
Starting with this release, the binlog reprotect process will limit itself to using a subset of nodes.
Backups omit empty slices. (XPAND-36163)
ALTER CLUSTER CHANGE REGION SQL statement added
ALTER CLUSTER CREATE OBSERVER REGION SQL statement added
ALTER CLUSTER CREATE PRIMARY REGION SQL statement added
ALTER CLUSTER CREATE SECONDARY REGION SQL statement added
ALTER CLUSTER CREATE ZONE SQL statement added
ALTER CLUSTER DROP REGION SQL statement added
ALTER CLUSTER DROP ZONE SQL statement added
ALTER CLUSTER RENAME REGION SQL statement added
ALTER CLUSTER RENAME ZONE SQL statement added
cluster_statussystem table added
table_system variable removed def_ card for MariaDB Xpand
frame_system variable removed size for MariaDB Xpand
Com_show_cluster_statusstatus variable added
Com_show_pluginsstatus variable added (XPAND-36450)
inaccessible_slicessystem table added (XPAND-33936)
swap_system variable removed threshold for MariaDB Xpand
PLUGINSinformation schema table added (XPAND-36450)
regionssystem table added
SHOW CLUSTER STATUS SQL statement added
use_system variable removed def_ systab_ card for MariaDB Xpand
engine for MariaDB Xpandsystem variable added
join_system variable removed threshold for MariaDB Xpand
rebalancer_system variable added rebalance_ regions_ interval_ ms for MariaDB Xpand
zonessystem table added
Changes to Default Values for Global Variables
The following global variables have new default values. If you are upgrading from a previous release, we recommend reviewing the new default values, and consider applying them to your system. If you would like further assistance or guidance, please contact MariaDB support.
cost_read_columndefault changed from
Adjusts costs to achieve more optimal plans.
internode_timeout_msdefault changed from
A higher setting results in lower CPU utilization.
layer_max_top_layer_size_bytesdefault changed from
Performance testing has shown that a higher value is more optimal.
max_sierra_tot_mem_MiBdefault changed from
This option may affect planning/compilation time, but also results in much faster runtimes. The new value is relative to
max_sierra_opt_mem_MiBand is set higher to achieve better plans.
rebalancer_rebalance_modedefault changed from
reoptimize_group_after_mergedefault changed from
sierra_allow_mtable_cross_joindefault changed from
This rule was previously disabled to reduce query plan execution time. The query optimizer is now more sophisticated and can take advantage of this rule in a more reasonable time.
sierra_extract_max_recursion_depthdefault changed from
sierra_table_def_carddefault changed from
This value changes the default cardinality used for tables where probability statistic information is not available.
The XpandGUI is no longer supported, and is no longer bundled with installations and upgrades. (XPAND-36925)