Release Notes for MariaDB Enterprise Server 11.4.5-3
MariaDB Enterprise Server 11.4.5-3 is a maintenance release of MariaDB Enterprise Server 10.4. This release includes a variety of fixes.
MariaDB Enterprise Server 11.4.5-3 was released on 19 Mar 2025.
Contents
Fixed Security Vulnerabilities
CVE (with cve.org link) | CVSS base score |
---|---|
CVE-2025-21490 | 4.9 |
Changes in Storage Engines
- This release incorporates MariaDB ColumnStore engine version 23.10.3.
Backports
Vector Search
The vector search capability has now been added to the MariaDB Enterprise Server 11.4 release. The linked blog post explains the idea of the new vector search feature in detail. (MENT-2233)
Vector Embeddings
Vector embeddings are numerical representations [0.2, -0.5, 0.8, 0.1, ...]
that capture semantic meaning or features of data in a multi-dimensional space. The embedding transforms simple to complex data such as text, images, audio, or video into a series of numbers (a vector) where similar items are positioned together in the multi-dimensional vector space.
For example, a word embedding of the word "dog" would be close in a vector embedding space to the word "puppy", whereas "dog" would not be close to the word "airplane". The embedding representation can be used in similarity search, recommendation systems, or more generally in traditional AI/ML systems and GenAI systems.
New Data Type VECTOR(N)
With the RC release a new data type VECTOR(N)
has been added to represent the vector column, where N is the number of dimensions.
Example:
CREATE TABLE myVectorSearch ( id INT PRIMARY KEY, v VECTOR(5) NOT NULL, VECTOR INDEX (v) );
Conversion Functions
VEC_FromText()
converts a text representation of the vector (a json array of numbers) to a vector (little-endian IEEE float sequence of bytes, 4 bytes per float).
Example:
select hex(vec_fromtext('[1,2,3]')); +------------------------------+ | hex(vec_fromtext('[1,2,3]')) | +------------------------------+ | 0000803F0000004000004040 | +------------------------------+
VEC_ToText()
converts a binary vector into a json array of numbers (floats).
Example:
SELECT VEC_ToText(x'e360d63ebe554f3fcdbc523f4522193f5236083d'); +---------------------------------------------------------+ | VEC_ToText(x'e360d63ebe554f3fcdbc523f4522193f5236083d') | +---------------------------------------------------------+ | [0.418708,0.809902,0.823193,0.598179,0.033255] | +---------------------------------------------------------+
Comparison Functions
Comparing vectors, calculating how close they are, is the key functionality needed by an application working with vector search. Two functions exist for calculating the distance between vectors. Which one to use depends on the application and on how the vectors were generated.
VEC_DISTANCE_EUCLIDEAN()
takes two vectors and computes the straight line (L2) Euclidean distance between two multi-dimensional points in the vector space
Example:
INSERT INTO v VALUES (1, x'e360d63ebe554f3fcdbc523f4522193f5236083d'), (2, x'f511303f72224a3fdd05fe3eb22a133ffae86a3f'), (3,x'f09baa3ea172763f123def3e0c7fe53e288bf33e'), (4,x'b97a523f2a193e3eb4f62e3f2d23583e9dd60d3f'), (5,x'f7c5df3e984b2b3e65e59d3d7376db3eac63773e'), (6,x'de01453ffa486d3f10aa4d3fdd66813c71cb163f'), (7,x'76edfc3e4b57243f10f8423fb158713f020bda3e'), (8,x'56926c3fdf098d3e2c8c5e3d1ad4953daa9d0b3e'), (9,x'7b713f3e5258323f80d1113d673b2b3f66e3583f'), (10,x'6ca1d43e9df91b3fe580da3e1c247d3f147cf33e');
SELECT id FROM v ORDER BY VEC_DISTANCE_EUCLIDEAN(v, x'6ca1d43e9df91b3fe580da3e1c247d3f147cf33e'); +----+ | id | +----+ | 10 | | 7 | | 3 | | 9 | | 2 | | 1 | | 5 | | 4 | | 6 | | 8 | +----+
VEC_DISTANCE_COSINE()
measures the cosine distance between two vectors in a multi-dimensional vector space
Example:
SELECT VEC_DISTANCE_COSINE(VEC_FROMTEXT('[1,2,3]'), VEC_FROMTEXT('[3,5,7]')); +-----------------------------------------------------------------------+ | VEC_DISTANCE_COSINE(VEC_FROMTEXT('[1,2,3]'), VEC_FROMTEXT('[3,5,7]')) | +-----------------------------------------------------------------------+ | 0.00258509695694209 | +-----------------------------------------------------------------------+
Configuration Options
The vector search feature requires some new system variables for controlling the general behavior. Four new system variables have been added:
mhnsw_max_cache_size
- Upper limit for one MHNSW vector index cache
mhnsw_default_distance
- Default value for the DISTANCE vector index option
mhnsw_default_m
- Default value for the M vector index option
mhnsw_ef_search
- Minimal number of result candidates to look for in the vector index for ORDER BY ... LIMIT N queries.
Notable Changes
- Starting with this release we generate a Software Bill of Materials (SBOM) JSON file provided in the downloads archive, which can be reached from the "All Files" link on the MariaDB Enterprise Server downloads page (MENT-2234)
- New parameter
--skip-freed-pages
forInnochecksum
. Use this parameter to not get freed undo logs reported as existing undo log pages. (MDEV-35394)
- Galera protocol versions are now shown by show status - change available with installation of galera library 26.4.21+ (MDEV-35505)
- MariaDB now supports MySQL 8.0 binlog events, including
PARTIAL_UPDATE_ROWS_EVENT
,TRANSACTION_PAYLOAD_EVENT
, andHEARTBEAT_LOG_EVENT_V2
. (MDEV-35643)
- InnoDB deadlock output query length increased to improve visibility of deadlocked statements. (MDEV-32576)
- Galera updated to 26.4.21
- NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes nodes have been updated
Issues Fixed
Can result in data loss
- Fix incorrect writing of timestamp into binary log, causing discrepancy upon binlog replaying (MDEV-31761)
- Fix trigger created with "
CREATE TRIGGER `table1_after_insert` AFTER INSERT
" which is adding rows to another table using "FOR EACH ROW insert into table2(`id`, `name`) values (NEW.`id`, NEW.`name`);
" that did not work correctly when if bulk inserts are used by the application. Only the first row of the bulk insert would be added to the table (MDEV-34958)
- History is now stored on the same partitions on different Galera nodes when system versioning is enabled (MDEV-35096)
- Fix assertion falilure and possible index corruption with unique key and nopad collation without
DESC
orHASH
keys (MDEV-30111)
Can result in hang or crash
- Fix client crash the command after client sets character set to utf32 (MDEV-34090)
- Fix possible crash where server could not construct a geomery object from the input (MDEV-33987)
- Fix possible InnoDB hang while running out of buffer pool (MDEV-35409)
- Fix possible Spider thread hang in 'Update' state on 2nd INSERT (MDEV-35064)
- After changing the table definition for the system table '
mysql.servers
', a following execution ofCREATE SERVER
would previously lead to a server crash.- NOTE: System tables should never be modified by a user anyhow (MDEV-33783)
- FIx streaming replication transaction crash with innodb_snapshot_isolation (MDEV-35281)
- Fix sporadic failure of async replication on Galera async replica nodes with parallel replication enabled (MDEV-35465)
- Fix failing assertion causing disruption and replication failure (MDEV-24035)
- Fix possible failure of wsrep_sst_rsync SST script if user specified aria_log_dir_path different from default data directory (MDEV-35387)
- Fix connection hang after query on a partitioned table with
UNION
andLIMIT ROWS EXAMINED
(MDEV-35571)
- Fix server crash in
get_sort_by_table
/make_join_statistics
afterINSERT
into a view withORDER BY
(MDEV-29935)
- Fix possible hang during
CREATE TABLE...SELECT
error handling, especially with innodb_snapshot_isolation enabled (MDEV-35647)
- Fix incorrect locking order of
LOCK_log
/LOCK_commit_ordered
, andLOCK_global_system_variables
(MDEV-29744)
- Fix possible memory leak on
SHUTDOWN
(MDEV-35326)
- Fix possible memory leak while shutting down server after installing the
auth_gssapi
plugin (MDEV-35575)
- Fix possible crash on
DELETE
from aHEAP
table (MDEV-22695)
- Fix possible server crash when using
INSERT DELAYED
on tables with virtual columns. (MDEV-26891)
- Fix possible crash during index traversal using `
tree_search_next
`. (MDEV-28130)
- Fix possible hang or crash during InnoDB purge with
HASH
indexes duringALTER TABLE
(MDEV-25654)
- Fix possible hang or crash where zero offset applied to null pointer (MDEV-35864)
- Fix possible crash on bootup in
spider_sys_open_table
(MDEV-32822, MDEV-34302, MDEV-34925)
- Fix possible Spider crash or hang when the first byte of a connection key is changed (MDEV-34849)
- Fix possible runtime error caused by
XA RECOVER
applying a zero offset to a null pointer (MDEV-35549)
- Fix assertion failure on cascading foreign key update of table with
vcol
index in parent (MDEV-29182)
- FIx assertion failure where
CURRENT_USER
was not correctly copied during condition pushdown (MDEV-35090)
- Fix cluster node hang during shutdown if threadpool is used (MDEV-35710)
- Calling a stored routine that executes a join on three or more tables and referencing not-existent column name in the
USING
clause could previously result in a crash on its second invocation. (MDEV-24935)
- Fix possible assertion failure when Galera cluster is in 'split-brain' state due to loss of communication between nodes (fix requires Galera library 26.4.21+) (MENT-2175)
- Fix assertion failure when executing
XA PREPARE
(and possibly other XA statements) on Galera cluster nodes (MENT-2212)
- Fix assertion failure when executing
XA
statements on Galera cluster nodes (MENT-2214)
- In rare cases, an
ALTER TABLE
or other operation could previously hang when usingNBO
mode on a cluster with very low network latencies (for example, when both nodes are running on the same physical machine) (MENT-2215)
- MariaDB Cluster and
ALTER INPLACE
running in Total Order Isolation (wsrep_OSU_method=TOI
) now correctly abort aDML INSERT
operation in InnoDB (MDEV-33064)
- Fix possible crash in
wsrep_check_sequence
(MDEV-33245)
Can result in unexpected behaviour
- Fix sporadic reporting of success when a deadlock error occurs under
--ps-protocol BF
aborted transaction (MDEV-35446)
- Fix rare cases where binlog entries could receive incorrect timestamps on secondary nodes of a Galera cluster, potentially impacting replication accuracy (MDEV-35157)
- For an authentication with the ed25519 authentication plugin the password of the
CREATE USER
statement is now masked in the audit log (MDEV-35507)
- MariaDB Audit now detects all DCLs forms for masking a password (MDEV-35522)
- Fix potential issue in secondary Index with
ROW_FORMAT=COMPRESSED
and Change buffering enabled (MDEV-35679)
sql_mode='NO_UNSIGNED_SUBTRACTION'
now works for multiple unsigned integers (MDEV-35651)
- Fix doublewrite recovery of
innodb_checksum_algorithm=full_crc32
encrypted pages (MDEV-34898)
START TRANSACTION
, when triggering an implicit commit as aCOMMIT
orROLLBACK
has not been executed before, now resets optional characteristics added to the lastSTART TRANSACTION
command (MDEV-35335)
mariadb-binlog
can now correctly process more than one logfile when--stop-datetime
is specified (MDEV-35528)
- Rows in table
mysql.gtid_slave_pos
are now correctly deleted on Galera nodes whenwsrep_gtid_mode = 1
is used, which previously lead to wrong information about replica delays (MDEV-34924)
EXCHANGE PARTITION
now works for tables with unique blobs (MDEV-35612)
- Fix issue where functions in default values in tables with certain character sets could break
SHOW CREATE
andmariadb-dump
(MDEV-29968)
- Setting `
pseudo_thread_id
` to a value exceeding 4 bytes previously resulted in truncation when written to the binary log (MDEV-35646)
- A
BEFORE INSERT
Trigger previously returned with error "Field 'xxx' doesn't have a default value
", if aNULL
value was added for a column definedNOT NULL
without explicit value and noDEFAULT
specified (MDEV-19761)
- Undefined behavior could occur when attempting to perform
INSERT DELAYED
on a Galera cluster node. (MDEV-35852)
- Fix issue where
ON UPDATE SET NULL
could not be specified on aNOT NULL
column (MDEV-35445)
algorithm = instant
can now correctly be used if a table has partitions and one tries to change a column with an index which is not the partitions key. This previously gave error "ERROR 1846 (0A000): ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
" (MDEV-34813)
- Fix issue where
DROP TABLE
on child andUPDATE
of parent table can cause a metadata lockBF-BF
conflict when applied concurrently. (MDEV-35018)
- Can now correctly add a foreign key on a table with a long
UNIQUE
multi-column index that contains a foreign key as a prefix (MDEV-33658)
- Fix possibly wrong result using a degenerated subquery
(SELECT <expr>)
with window function (MDEV-35869)
- The "
Failed to write to mysql.slow_log
" error no longer shown without a detailed reason for the error (MDEV-20281)
- Fix
debian-start
script failure when using non-standard socket path (MDEV-35907)
wsrep_sst_mariabackup.sh
no longer uses--use-memory default (100MB)
resulting in prepare stage which could take hours (MDEV-35749)
Replicate_*
fields inShow-Slave-Status
may be truncated, impacting replication monitoring. (MENT-2238)
Related to performance
- Conditions with SP local variables are now pushed into derived table. Previous behaviour caused slow performance and table scans instead of using the pushed down condition (MDEV-35910)
NULL
-aware materialization withIN
predicate and single column no longer skips building sorted Ordered_key structures (MDEV-34665)
- Cloning of table statistics while saving the InnoDB table stats is now avoided (MDEV-35363)
Changelog
For the complete list of changes in this release, see the changelog.
Platforms
In alignment to the enterprise lifecycle, MariaDB Enterprise Server 11.4.5-3 is provided for:
- Debian 11 (x86_64, ARM64)
- Debian 12 (x86_64, ARM64)
- Red Hat Enterprise Linux 8 (x86_64, ARM64)
- Red Hat Enterprise Linux 9 (x86_64, ARM64, PPC64LE)
- AlmaLinux 8 (x86_64, ARM64)
- AlmaLinux 9 (x86_64, ARM64)
- Rocky Linux 8 (x86_64, ARM64)
- Rocky Linux 9 (x86_64, ARM64)
- SUSE Linux Enterprise Server 15 (x86_64, ARM64)
- Ubuntu 20.04 (x86_64, ARM64)
- Ubuntu 22.04 (x86_64, ARM64)
- Ubuntu 24.04 (x86_64, ARM64)
- Microsoft Windows (x86_64) (Without MariaDB Enterprise Cluster (Galera) support)
- Red Hat UBI 8 (x86_64, ARM64)
- Red Hat UBI 8 is part of the Enterprise Server Docker Image. It does not support MariaDB Enterprise Cluster (Galera) or MariaDB ColumnStore.
Some components of MariaDB Enterprise Server are supported on a subset of platforms. See MariaDB Engineering Policies for details.
Installation Instructions
Deploy MariaDB Enterprise with Repositories
Deploy MariaDB Enterprise with Package Tarballs
Deploy MariaDB Enterprise with Docker