Release Notes for MariaDB Enterprise Server 10.5.18-13
MariaDB Enterprise Server 10.5.18-13 is a maintenance release of MariaDB Enterprise Server 10.5. This release includes a variety of fixes.
MariaDB Enterprise Server 10.5.18-13 was released on 2022-12-21.
Backported Features
MariaDB Enterprise Server enables a predictable development and operations experience through an enterprise lifecycle. These new features have been backported after reaching maturity in MariaDB Community Server:
- The new
slave_max_statement_time
system variable is available to set the maximum execution time for queries on replica nodes. (MENT-1566, MDEV-27161)- When a query takes more than
slave_max_statement_time
seconds to run on the replica (slave) node, the query is aborted, and replication stops with an error. - The system variable can be set to a decimal value, where the decimal component has microsecond precision.
- When set to
0
, there is no timeout. - The default value is
0
.
- When a query takes more than
Notable Changes
- The
information_schema.INNODB_SYS_TABLESPACES
view shows details about the InnoDB temporary tablespace, which is the tablespace where InnoDB temporary tables are stored. (MDEV-29479)- Starting with this release, the details details about the InnoDB temporary tablespace can be shown by querying for the name
innodb_temporary
:SELECT * FROM information_schema.INNODB_SYS_TABLESPACES WHERE name LIKE 'innodb_temporary';
- Starting with this release, the details details about the InnoDB temporary tablespace can be shown by querying for the name
- When a table's default collation is set to the default collation for the table's character set,
SHOW CREATE TABLE
shows theCOLLATE
clause. (MDEV-29446)- In previous releases, MariaDB Enterprise Server reduced the size of
SHOW CREATE TABLE
output by excluding theCOLLATE
clause if the table's default collation was set to the default collation for the table's character set.
- In previous releases, MariaDB Enterprise Server reduced the size of
Issues Fixed
Can result in data loss
- When a column is renamed in a partitioned table with
ALTER TABLE .. RENAME COLUMN
using theNOCOPY
algorithm, the table can be corrupted. (MDEV-28576)
- When the InnoDB storage engine performs change buffer operations, the InnoDB Redo Log can overflow, which can cause table corruption. (MENT-1661, MDEV-29905)
Can result in a hang or crash
- When a query contains an
IN/ALL/ANY
predicand and the subquery contains a GROUP BY clause with anIN/ALL/ANY
predicand with a single-value subquery as the left operand, the server can crash. (MDEV-29350)
- If an InnoDB table contains a foreign key constraint and the child table's
DATABASE_NAME/TABLE_NAME.ibd
is longer than 330 characters, when the parent table is renamed, the server can crash. (MDEV-29409)
- When a DDL statement is executed using the
INPLACE
algorithm andinnodb_adaptive_hash_index=ON
is set, the server can hang. (MDEV-27700, MDEV-29384)
- When renaming a table to a long name, the server can crash. (MDEV-29258)
- When an
ALTER TABLE
statement causes InnoDB to rebuild a table with a spatial index, the server can crash. (MDEV-29520)
- When an InnoDB temporary table contains a spatial index, the server can crash if the temporary table is dropped due to
DROP TEMPORARY TABLE
or client disconnect. (MDEV-29507)
- When querying a partitioned table using the
PARTITION
syntax, if theWHERE
clause results in an index merge, the server can crash. (MDEV-21134)
- When detecting CTE dependencies of nested CTEs that includes one or more recursive CTEs, infinite recursion can occur until the server crashes. (MDEV-29361)
- When the
wsrep_notify_cmd
system variable is configured to use the bundledwsrep_notify.sh
script, the server can hang during startup. (MDEV-27682)
- When selecting from InnoDB's
information_schema
views (such asINNODB_TRX
,INNODB_LOCKS
, andINNODB_LOCK_WAITS
), if connections with open XA transactions are disconnected or killed at the same time, the server can crash. (MDEV-29575)
- For some queries that involve tables with different but convertible character sets for columns taking part in the query, a repeatable execution of such queries in the prepared statement mode or as part of a stored routine can crash the server. (MDEV-16128)
- When executing a
SELECT .. UNION .. SELECT
orEXPLAIN EXTENDED
statement, the server can crash. (MDEV-23160)
- When
optimizer_switch='condition_pushdown_for_derived=on'
is set and a view that includes a subquery is queried, the server crashes. (MDEV-16549)
- When an application-time period with an empty name is added to a table using
ALTER TABLE .. ADD PERIOD IF NOT EXISTS
, the server can crash. (MDEV-18873)- In previous releases, statements like the following could cause the server to crash:
ALTER TABLE t ADD PERIOD IF NOT EXISTS FOR `` (s,e);
- In previous releases, statements like the following could cause the server to crash:
- When the Spider storage engine's ODBC foreign data wrapper is used with MariaDB Connector/ODBC 3.1.10 and later, the server can crash. (MENT-1415)
- If the InnoDB change buffer is corrupted, the server can hang during shutdown. (MENT-1673, MDEV-30009)
- When an InnoDB tablespace is in the non-canonical format from a previous
ALTER TABLE
operation that used the INSTANT algorithm, InnoDB can fail to apply changes to the table during crash recovery and while preparing a backup with MariaDB Enterprise Backup. (MDEV-29438)
- When InnoDB tries to apply a
INSERT_HEAP_DYNAMIC
record to a secondary index in a table withROW_FORMAT=DYNAMIC
during crash recovery, the operation can fail with an error. (MDEV-29559)- In previous releases, the MariaDB ES error log could have errors like the following:
[ERROR] InnoDB: Not applying INSERT_HEAP_DYNAMIC due to corruption on [page id: space=5, page number=4]
- In previous releases, the MariaDB ES error log could have errors like the following:
- When a prepared statement is used to execute an INSERT .. RETURNING statement containing a subquery, the server can crash: (MDEV-28740)
Can result in unexpected behavior
- In the presence of replication filters, revoking privileges from a non-existing user on a primary (master) breaks replication on the replica (slave). (MDEV-28530)
- When
replicate_wild_ignore_table='mysql.%'
is set on a replica node, the replica node does not skip replicatedSET DEFAULT ROLE
statements. (MDEV-28294)
- When a Spider table has a prefix index, query results can be incorrect. (MDEV-27172)
- InnoDB can extend tablespace files when additional capacity is not required. (MDEV-13013)
- When an InnoDB table is being rebuilt and a
BLOB
is updated during the online rebuild, a memory leak can occur. (MDEV-29600)
- When a view is queried using a prepared statement, the query fails with the
ER_NEED_REPREPARE
error code. (MDEV-17124)- In previous releases, the following error would occur:
ERROR 1615 (HY000): Prepared statement needs to be re-prepared
- In previous releases, the following error would occur:
- When an InnoDB table contains virtual generated columns that are indexed, InnoDB fails to purge secondary index records. (MDEV-29666)
- When using the InnoDB adaptive hash index, non-locking reads can return wrong results due to a potential ACID violation. (MDEV-28709, MDEV-29635, MDEV-27927)
- When
SHOW COLUMNS
is used on a temporary table, an empty result set is returned. (MDEV-28455)
- When a sequence is used as the default value in a table, rows inserted by an
INSERT ... SELECT
statement can be assigned the wrong values. (MDEV-29540)
- When a column has both a
UNIQUE
index and aFULLTEXT
index, full-text search usingMATCH(..) AGAINST(..)
does not work properly. (MDEV-29778)
- If the server is started with the
--ssl
option enabled, but the TLS certificates and keys are not configured, the server will advertise the TLS support in the handshake, but will not actually be able to use it. (MDEV-29811)
- With MariaDB Enterprise Cluster, when
wsrep_sst_method='mariabackup'
is configured, the joiner node ignores custom values for theinnodb_buffer_pool_filename
system variable, and the SST copies the buffer pool file to the default location instead. (MDEV-28968)
- When a
TIMESTAMP
column is filtered in a subquery inside theALL
operator, the results can be incorrect. (MDEV-27101)
- When the
wsrep_node_incoming_address
system variable does not contain a port number, thewsrep_incoming_addresses
status variable shows 0 as the port number. (MDEV-28868)
- When
optimizer_switch='rowid_filter=on'
is enabled, performance is impacted if therowid
filter contains no elements. (MDEV-28846)
- When a
INET6
column is filtered in a subquery inside theALL
operator, the results can be incorrect. (MDEV-27099)
- When
XA COMMIT
is executed without an open XA transaction, the operation is still logged to the binary log. (MDEV-25616)- In previous releases, when a replica node tried to apply the event, it would fail with the
ER_XAER_NOTA
error code:Last_SQL_Errno 1397 Last_SQL_Error Error 'XAER_NOTA: Unknown XID' on query. Default database: 'DATABASE_NAME'. Query: 'XA COMMIT ..'
- In previous releases, when a replica node tried to apply the event, it would fail with the
- When a tablespace file was originally built with MariaDB Enterprise Server 10.4 and earlier, InnoDB would refuse to add a column to the table using the
INSTANT
algorithm. (MDEV-28822)- In previous releases, the operation would fail with the following error message:
ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=INPLACE
- In previous releases, the operation would fail with the following error message:
Related to install and upgrade
- When
mariadb-upgrade
is executed, spurious errors about table rebuilds are logged. (MDEV-29481)- In previous releases, the following messages would be logged, even though the tool already mitigated the issues itself:
error: Table rebuild required. Please do "ALTER TABLE `TABLE_NAME` FORCE" or dump/reload to fix it!"
- In previous releases, the following messages would be logged, even though the tool already mitigated the issues itself:
Changes in Storage Engines
- This release incorporates MariaDB ColumnStore storage engine version 5.6.8.
Interface Changes
- ER_BINLOG_UNSAFE_SKIP_LOCKED error code added
- ER_CM_OPTION_MISSING_REQUIREMENT error code added
- ER_INCONSISTENT_SLAVE_TEMP_TABLE error code added
- ER_JSON_HISTOGRAM_PARSE_FAILED error code added
- ER_JSON_TABLE_ALIAS_REQUIRED error code added
- ER_JSON_TABLE_ERROR_ON_FIELD error code added
- ER_JSON_TABLE_MULTIPLE_MATCHES error code added
- ER_JSON_TABLE_SCALAR_EXPECTED error code added
- ER_PARTITION_CONVERT_SUBPARTITIONED error code added
- e4174/ER_PK_INDEX_CANT_BE_IGNORED error code added
- ER_PROVIDER_NOT_LOADED error code added
- ER_REMOVED_ORPHAN_TRIGGER error code added
- ER_SF_OUT_INOUT_ARG_NOT_ALLOWED error code added
- ER_SLAVE_STATEMENT_TIMEOUT error code added
- ER_STORAGE_ENGINE_DISABLED error code added
- ER_VERS_HIST_PART_FAILED error code added
- ER_WITH_TIES_NEEDS_ORDER error code added
- mariadbd --slave-max-statement-time command-line option added
- slave_max_statement_time system variable added
- WARN_OPTION_CHANGING error code added
- WARN_SFORMAT_ERROR error code added
Platforms
In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.5.18-13 is provided for:
- CentOS 7 (x86_64)
- Debian 10 (x86_64, ARM64)
- Debian 11 (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 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
Upgrade Instructions
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.