Release Notes for MariaDB Enterprise Server 10.5.8-5

This fifth release of MariaDB Enterprise Server 10.5 is a maintenance release. This release includes security fixes.

MariaDB Enterprise Server 10.5.8-5 was released on 2020-12-14.

Fixed Security Vulnerabilities

CVE (with cve.mitre.org link)

CVSS base score

CVE-2020-14765

6.5

CVE-2020-14776

4.9

CVE-2020-14789

4.9

CVE-2020-14812

4.9

CVE-2020-28912

N/A #f1

Notable Changes

  • A new privilege REPLICA MONITOR has been introduced with this version to fix a problem when upgrading to 10.5. A replica user couldn't run SHOW REPLICA STATUS. Upgrades from 10.4 to 10.5 now adjust the privileges automatically. The new privilege needs to be added manually for a replica user when updating from an earlier 10.5 version. For more information on MariaDB Enterprise Server 10.5 privileges, see "Privileges Comparison ES10.4 and ES10.5.8-5".

    • Users of MariaDB MaxScale's MariaDB Monitor upgrading from a prior version of MariaDB Enterprise Server 10.5 who have used the new 10.5 privileges must ensure the updated privilege has been granted to the MaxScale user and Replication user. For detailed privilege information, see Configuring MariaDB Monitor's User Account.

  • MariaDB Enterprise Audit did not log proxy users. The new plugin version 2.0.3 introduces an event sub-type PROXY_CONNECT for event type CONNECT. (MENT-977)

    • On connect, if a proxy user is used, an extra line will be logged: TIME,HOSTNAME,user,localhost,ID,0,PROXY_CONNECT,test,plug_dest@%,0

    • The event type can also be used in filters "connect_event": ["CONNECT","DISCONNECT","PROXY_CONNECT"]

  • The audit plugin (not MariaDB Enterprise Audit) did not log proxy users. The new plugin version 2.0.3 introduces an event sub-type PROXY_CONNECT for event type CONNECT. (MDEV-19443)

    • On connect, if a proxy user is used, an extra line will be logged: TIME,HOSTNAME,user,localhost,ID,0,PROXY_CONNECT,test,plug_dest@%,0

  • Better MariaDB GTID support for the mariabackup --slave-info option. (MDEV-19264)

  • New global InnoDB variable innodb_max_purge_lag_wait (MDEV-16952)

  • The new parameter --include-unsupported for the script mariadb_es_repo_setup can be used to enable a repository of unsupported packages in the repository configuration. The repository currently includes the Storage Engine CONNECT. The storage engine can be installed by yum install MariaDB-connect-engine or apt-get install mariadb-plugin-connect-engine (MENT-1003)

  • For MariaDB Enterprise Server on MS Windows, NTFS file metadata on NTFS is not flushed anymore, reducing the write workload I/O. (MDEV-24037)

  • Improved write performance for InnoDB. (MDEV-23855) (MDEV-23399)

  • The S3 Storage Engine now allows you to specify a port (--s3-port) to connect to and to force to use HTTP (--s3-use-http). So it is now possible to connect to other solutions which provide the same open API used for Amazon S3. (MDEV-23662)

  • Performance improvements for conversions from temporal data types to string. (MDEV-23568)

  • Performance improvements for handling numeric data. (MDEV-23478)

  • Default for command line option --temp-pool changes from 1 to 0. Benchmarking showed that the old default causes a heavy mutex contention. (MDEV-22278)

  • Performance improvements for comparisons of temporal data types with temporal literals. (MDEV-23551)

  • Performance improvements for comparisons of temporal data types. (MDEV-23537)

  • Galera wsrep library updated to 26.4.6 in MariaDB Enterprise Cluster.

Changes in Storage Engines

Issues Fixed

Can result in data loss

  • Data corruption possible for encrypted InnoDB tables if the non-default option innodb_background_scrub_data_uncompressed=ON is used. (MENT-910)

  • Temporary tables created by the user or the system can overwrite existing files on creation. (MDEV-23569)

  • Table can disappear after ALTER TABLE command if SET FOREIGN_KEY_CHECKS=0 is used before altering a child table to remove a primary key. (MDEV-22934)

  • Change buffer corruption when reallocating a recently freed page. (MDEV-23973)

  • S3 storage engine delayed replication can drop a table when running a master-replica setup where both master and replica are pointed at the same S3 storage. (MDEV-23691)

  • An UPDATE which is changing multiple rows can result in corrupted data if a WITHOUT OVERLAPS key will be modified. (MDEV-22714)

  • Server crashes on an instant ALTER TABLE .. MODIFY of a column from "not null" to "null". A virtual column must exist in the table. (MDEV-23672)

  • Memory corruption for tables using a column of type BIT in a WITHOUT OVERLAPS key. (MDEV-22608)

  • One instant ALTER TABLE including multiple RENAME for indexes can corrupt the index cache. (MDEV-23356)

  • DELETE .. FOR PORTION OF statement accepts non-constant FROM .. TO clause. This contradicts the documentation and is inconsistent with the behavior of the UPDATE statement. (MDEV-22596)

Can result in a hang or crash

  • InnoDB persistent stats analyze forces full scan which results in a lock crash. (MENT-1024)

  • MariaDB Enterprise Audit crashes. (MENT-1011)

  • InnoDB hang on INSERT with error message Semaphore wait has lasted > 300 seconds. (MENT-1007)

  • Server crash can happen on filesort with a setting for max_sort_length to a value lower than the default of 64. (MDEV-24033)

  • Potential stack overflow in InnoDB fulltext search with a complex MATCH .. AGAINST string. (MDEV-23999)

  • Mariabackup can hang if the server goes idle after a particular kind of redo log write. (MDEV-23982)

  • A server crash can occur when encryption is enabled for temporary tables (encrypt-tmp-files=ON) and queries use window functions. (MDEV-23867)

  • A crash of MariaDB Server is possible when binary logging is activated, caused by improper raising of an error or replication checksum. (MDEV-23832)

  • InnoDB assertion on TRUNCATE after ALTER TABLE .. DISCARD TABLESPACE. (MDEV-23705)

  • Server crashes after failed attempt to create unique key on virtual column. (MDEV-23685)

  • Possible server crash when using an index on a spatial data type with InnoDB. (MDEV-23600)

  • Possible server crash when a string function is used for a column of type DATETIME and the string function is used in a subquery which is returning a row. (MDEV-23535)

  • MariaDB Enterprise Cluster node can crash on high INSERT, DELETE, or UPDATE load from many connections executed on the same table with foreign keys. (MDEV-23557)

  • Server crashes if a query is executed on an InnoDB table with a foreign key where the foreign key was removed while using SET FOREIGN_KEY_CHECKS=0. This case should result in an SQL error. (MDEV-23470)

  • Recursive procedure call ends with a crash instead of SQL error. (MDEV-23463)

  • InnoDB fails to open the table during removal of VIRTUAL column DDL while using SET FOREIGN_KEY_CHECKS=0, due to lack of referenced index. (MDEV-23387)

  • Server crash when altering a table after its tablespace has been discarded already. (MDEV-22939)

  • SHOW BINLOG EVENTS FROM ... caused a variety of non-determinism failures if the given position did not exist. (MDEV-22473)

  • SET GLOBAL `replicate_do_db` = DEFAULT causes a crash. (MDEV-20744)

  • JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...) can crash if the first parameter is set to NULL and the second is not valid JSON. (MDEV-20593)

  • Server crashes after DELETE with ON DELETE SET NULL for foreign key and a virtual column in index. (MDEV-20396)

  • Server can crash on a prepared SELECT statement executed via the MariaDB ODBC driver. (MDEV-19838)

  • Crash on SELECT on a table that contains indexed virtual columns. (MDEV-18366)

  • Possible server crash for queries using the window function NTH_VALUE() (MDEV-15180)

  • If resizing the redo log to be triggered immediately before a server shutdown is initiated, and if innodb_flush_sync=0 (non default setting), the shutdown may hang because the page cleaner thread fails to finish its job. (MENT-1031)

  • InnoDB hangs with innodb_flush_sync=OFF (MENT-992)

  • MariaDB Enterprise Cluster node crash with Galera message Assertion `server_state_.rollback_mode() == wsrep::server_state::rm_async' failed. in the error log. (MENT-937)

  • Crash recovery fails with Error InnoDB: Missing FILE_CHECKPOINT at ... between the checkpoint ... and the end ... after restart, if the redo log size has been changed with SET GLOBAL (MENT-795)

  • Galera node crashes or hangs during IST if the connection between donor and joiner is unstable or if cluster configuration changes take place at the same time. (MENT-514)

  • Replica crashes upon rename of a view. (MDEV-23764)

  • The server can crash when an UPDATE is executed on a HEAP table using WITHOUT OVERLAPS, and the UPDATE is done for a value of a compound key which is included in the WITHOUT OVERLAPS definition. (MDEV-22677)

  • MariaDB Enterprise Cluster crash if bulk updates are executed on Galera. (MDEV-23872)

  • Server crash when SELECT WSREP_LAST_SEEN_GTID() while Galera replication is not enabled (wsrep-on=OFF). (MDEV-23466)

  • Server crash if function FORMAT(num, decimal_position[, locale]) is used with a decimal_position > 30. (MDEV-23415)

  • Multiple calls to a Stored Procedure from another Stored Procedure crashes server. (MDEV-23094)

  • Server crash when an invalid wsrep_provider is set. (MDEV-23092)

  • Server hang if TABLE LOCK is used after BACKUP LOCK was used. (MDEV-22879)

  • Server crash on table updates using FOR PORTION OF (MDEV-22805)

  • Assertion on EXECUTE IMMEDIATE if wsrep is on and executed statement is CREATE TABLE which should be executed in TOI mode. (MDEV-22681)

  • Server crash if a transaction is started with SET SESSION wsrep_on=1, but the global wsrep_on is 0. (MDEV-22443)

  • MariaDB Enterprise Cluster node can crash with an error message WSREP: MDL BF-BF conflict in the error log. The error is related to running OPTIMIZE or REPAIR on tables with foreign keys. (MDEV-21577)

  • Spider crash when used with sharding and XA, and spider_internal_xa=OFF (default). (MDEV-19794)

  • Possible crash when using Spider tables and partitions. (MDEV-20100)

Can result in unexpected behavior

  • Defining a view with SQL syntax ISNULL(ID)=0 incorrectly returns a syntax error. (MENT-1015)

  • MariaDB Enterprise Backup reports an error that it cannot find an Aria log file './aria_log.00000000' (MENT-907)

  • MariaDB Enterprise Backup failure for incremental backups. (MDEV-24026)

  • Aborting a query on an InnoDB table with KILL QUERY does not show an SQL error message, if the query could not be aborted. (MDEV-23938)

  • Optimizer has chosen an inefficient plan, if a multi-component index, a second index, and a WHERE or ON clause with conditions over these indexes are used. (MDEV-23811)

  • Some rounding has been done in an unexpected way for decimal numbers. (MDEV-23702)

  • Server crashes after changing innodb_buffer_pool_size at runtime via a SET statement. (MDEV-23693)

  • Creating a view removes parentheses on expressions from the SELECT, which results in wrong results. (MDEV-23656)

  • mysql_tzinfo_to_sql under InnoDB is slow. (MDEV-23440)

  • UDF cannot be uninstalled if the UDF library file doesn't exist. (MDEV-23327)

  • CAST(expr AS type) with type DECIMAL can return an unexpected result, if the given value for "expr" includes many leading zeros. (MDEV-23105)

  • Galera replication broken if only one timezone is loaded. (MDEV-22626)

  • Galera SST donation fails, FLUSH TABLES WITH READ LOCK times out. (MDEV-22543)

  • Memory leaks possible after ALTER TABLE with FOREIGN KEY. (MDEV-22277)

  • MariaDB Enterprise Backup SST fails for MariaDB Enterprise Cluster if data-directory has lost+found directory. (MDEV-21951)

  • SHOW BINLOG EVENTS FROM ... caused a variety of non-determinism failures if the given position did not exist. (MDEV-21839)

  • Linux AIO returned OS error 22 if parameters set to innodb_flush_method O_DIRECT and innodb_use_native_aio=1 (default). (MDEV-21584)

  • CREATE OR REPLACE TRIGGER in Galera cluster not replicating, if a trigger with the same name already exists. (MDEV-21578)

  • mysqld_multi no longer works with different server binaries. (MDEV-21526)

  • Possible error for incremental backup --prepare for encrypted tablespaces. (MDEV-20755)

  • Possible slow server start and stop if full text indexes are used. (MDEV-18867)

  • The parentheses in a VIEW can be defined incorrectly for a combination of = and BETWEEN (MDEV-17408)

  • ER_BASE64_DECODE_ERROR upon replaying binary log. (MDEV-16372)

  • Several IPv6 issues with MariaDB Enterprise Cluster powered by Galera. (MDEV-21770) (MDEV-23576) (MDEV-23580) (MDEV-23581) (MDEV-23574)

  • Subquery on information_schema fails with an error message. (MENT-1016)

  • AUTO_INCREMENT does not increment with compound primary key on partitioned table. (MENT-997)

  • Replica user can't run SHOW REPLICA STATUS after upgrade to 10.5. (MENT-995)

  • galera_new_cluster starts server as standalone instance with no warnings or errors when wsrep_on=OFF, although the expectation is to bootstrap a cluster. (MENT-979)

  • Wrong value #wsrep_provider_options="gcache.size=1024Mb" in server.cnf for wsrep_provider_options. The server would not start after removing the comment. (MENT-970)

  • Wrongly reported SQL Error (1038): Out of sort memory for queries, where dependent subqueries use the ORDER by clause. (MDEV-24015)

  • An ALTER TABLE .. RENAME to change a column to uppercase doesn't work. (MDEV-23852)

  • IN-to-subquery conversion is not visible in optimizer trace. (MDEV-23767)

  • DROP TRIGGER is not replicated in MariaDB Enterprise Cluster with Galera Replication. (MDEV-23638)

  • SHOW RELAYLOG EVENTS can return incorrect BEGIN event information from the binary log, prepended with set foreign_key_checks=1, check_constraint_checks=1;

  • Deadlock between BACKUP STAGE BLOCK_COMMIT and parallel replication. (MDEV-23586)

  • Possible memory leak in galera library. (MDEV-23559)

  • Wrong result of MIN(time_expr) and MAX(time_expr) with GROUP BY (MDEV-23525)

  • Syntax error results in misleading message on SHOW CREATE PROCEDURE about missing system table mysql.proc (MDEV-23518)

  • FORMAT(num, decimal_position[, locale]) where decimal position is 0 or 38 and num is DECIMAL(38,38) returns incorrect results. (MDEV-23118)

  • A query result includes a data row twice depending on the WHERE clause used, if partitioning is used. (MDEV-22246)

  • Assertion after ROLLBACK AND CHAIN (MDEV-22055)

  • CREATE TEMPORARY TABLE .. LIKE (system versioned table) returns error if unique index is defined in the table. (MDEV-23968)

  • CREATE .. SELECT can result in empty result on join versioned table. (MDEV-23799)

  • Error ERROR 4142 (HY000): SYSTEM_TIME partitions in table `t1` does not support historical query upon querying a view, when that view is selecting from the versioned table with partitions. It only happens if the view itself was created using FOR SYSTEM_TIME ALL (MDEV-23779)

  • Disk space not reused for Blob in data file. (MDEV-23072)

  • mariadb-dump will not dump sequence definition details on --no-data dump. (MDEV-21786)

  • CHECK TABLE fails to validate corruption on a table that was corrupted by a bug related to instant ADD or DROP (fixed in MariaDB Enterprise Server 10.3.17, 10.4.7). (MDEV-21251)

  • Subquery execution not terminated after LIMIT ROWS EXAMINED is exceeded. (MDEV-18335)

Interface Changes

  • innodb_lru_flush_size system variable added

  • innodb_lru_scan_depth system variable default value changed from 1024 to 1536

  • innodb_max_dirty_pages_pct system variable default value changed from 75.000000 to 90.000000

  • innodb_max_purge_lag_wait system variable added

  • mariadbd --innodb-lru-flush-size command-line option added

  • mariadbd --innodb-max-purge-lag-wait command-line option added

  • mariadbd --s3-port command-line option added

  • mariadbd --s3-use-http command-line option added

  • mariadbd --xpand-bulk-insert-batch-bytes command-line option added

  • mariadbd --xpand-row-count-refresh-usec command-line option added

  • performance_schema_digests_size system variable maximum value changed from 200 to 1048576

  • REPLICA MONITOR user privileges added

  • s3_port system variable added

  • s3_use_http system variable added

  • REPLICA MONITOR user privileges added

  • xpand_bulk_insert_batch_bytes system variable added

  • Xpand_direct_delete status variable added

  • Xpand_direct_update status variable added

  • xpand_row_count_refresh_usec system variable added

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.5.8-5 is provided for:

  • CentOS 7

  • CentOS 8

  • Debian 9

  • Debian 10

  • Red Hat Enterprise Linux 7

  • Red Hat Enterprise Linux 8

  • SUSE Linux Enterprise Server 12

  • SUSE Linux Enterprise Server 15

  • Ubuntu 16.04

  • Ubuntu 18.04

  • Ubuntu 20.04

  • Microsoft Windows

Upgrade Instructions