Release Notes for MariaDB MaxScale 6.4.9
This page is part of MariaDB's Documentation.
The parent of this page is: Release Notes for MariaDB MaxScale 6
Topics on this page:
Overview
MariaDB MaxScale is an advanced database proxy and query router.
MariaDB MaxScale 6.4.9 was released on 2023-08-21. This release is of General Availability (GA) maturity.
This document describes the changes in MaxScale 6.4.9 when compared to MaxScale 6.4.8.
Notable Changes
force_connection_keepalive
parameter added, with default valuefalse
. (MXS-4720)When
force_connection_keepalive=false
(the default), connection keepalive pings are sent only if the client is executing a query or has been idle for less than the duration configured inconnection_keepalive
When
force_connection_keepalive=true
, keepalive pings are sent unconditionally to any backends that have been idle for longer thanconnection_keepalive
seconds. This option can be used to emulate MaxScale's behavior prior to version 2.5.21 for cases where long-lived application connections rely on the old unconditional keepalive pings.When
force_connection_keepalive=true
andconnection_keepalive
in MaxScale is set to a lower value thanwait_timeout
on the database, the timeouts controlled bywait_timeout
will no longer be effective. In this circumstance, MaxScale unconditionally sends pings which make the client behave like it is not idle, so the connections will not be killed bywait_timeout
.
For MariaDB Monitor (
mariadbmon
),GRANT
guidance has changed: (MXS-4672)For complete instructions, see MariaDB Monitor.
For MariaDB Server 10.5.2 and above, it is recommended that
CONNECTION ADMIN
privilege be granted, since it allows the monitor to log in even if the server connection limit has been reached.GRANT CONNECTION ADMIN ON *.* TO 'maxscale'@'maxscalehost';
Certain privileges are required if performing cluster management operations. For MariaDB Server 11.0.1 and above, the
SUPER
privilege no longer conveys certain fine-grained privileges, so these must be granted directly.GRANT RELOAD, PROCESS, SHOW DATABASES, EVENT, SET USER, READ_ONLY ADMIN ON *.* TO 'maxscale'@'maxscalehost'; GRANT REPLICATION SLAVE ADMIN, BINLOG ADMIN, CONNECTION ADMIN ON *.* TO 'maxscale'@'maxscalehost'; GRANT SELECT ON mysql.user TO 'maxscale'@'maxscalehost';
Privilege
Purpose
BINLOG ADMIN
Delete binary logs (during
reset-replication
)CONNECTION ADMIN
Kill connections
EVENT
List and modify server events
PROCESS
Allows check whether the
event_scheduler
process is runningREAD_ONLY ADMIN
Allows
read_only
to be setRELOAD
Flush binary logs
REPLICA MONITOR
View and manage replication connections
REPLICATION SLAVE ADMIN
View and manage replication connections
SELECT
onmysql.user
View which users have
SUPER
SET USER
List and modify server events
SHOW DATABASES
List and modify server events
If a separate replication user is defined (with
replication_user
andreplication_password
),REPLICATION SLAVE
privilege is required.CREATE USER 'replication'@'replicationhost' IDENTIFIED BY 'replication-password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'replicationhost';
Issues Fixed
Can result in data loss
With Binlog Router (
binlogrouter
), if a large transaction results in the creation of a binlog file larger than 4GB, that binlog file is corrupt. (MXS-4691)With Binlog Router (
binlogrouter
), large transactions are skipped, resulting in data inconsistency on a slave. (MXS-4677)
Can result in a hang or crash
With Binlog Router (
binlogrouter
), if the transaction being replicated does not fit in memory, the process will be killed or astd::bad_alloc
will be thrown. (MXS-4690)With
mariadbclient
, possible hang whenconnection_init_sql_file
queries are executed. (MXS-4719)
Can result in unexpected behavior
Encrypted passwords can be persisted in plain-text. (MXS-4681)
With Binlog Router (
binlogrouter
), GTID values are compared as 32-bit integers rather than 64-bit integers. (MXS-4700)With Binlog Router (
binlogrouter
), a new binlog is always opened upon startup. (MXS-4695)With Galera Monitor (
galeramon
), replication lag is not updated for replicating servers. (MXS-4721)With MariaDB Monitor (
mariadbmon
), switchover can fail with anUnknown thread id
error (1094
). (MXS-4675)With MariaDB Monitor (
mariadbmon
),GTID
updates may block REST API traffic. (MXS-4701)With MariaDB Monitor (
mariadbmon
),ALTER EVENT
failure is not detected on MariaDB 11.0 and above. (MXS-4684)The query classifier does not correctly parse a
RENAME
statement. (MXS-4714)With Read/Write Split Router (
readwritesplit
), interrupted queries are retried even if all backends have encountered a permanent failure. (MXS-4696)Starting with this release, retries are not performed if all backends have encountered a permanent failure, resulting in faster reporting of errors to the client.
With the query classifier,
SHOW TABLE STATUS FROM ...
fails with Schema Router (schemarouter
). (MXS-4704)With the MaxScale REST API, session idle times are calculated incorrectly. (MXS-4680)
In previous releases, the REST API calculated the session idle time by checking the amount of time since the last network read.
Starting with this release, the REST API calculates the session idle time by checking the amount of time since the session became logically idle. Consequently, if a session executes a query that takes a long time to complete, the session idle time value will remain at zero until the query is fully complete.
When
SHOW SLAVE STATUS
is executed with Binlog Router (binlogrouter
), the output is not consistent with the output shown when executed with MariaDB Server. (MXS-4613)In previous releases, the output showed the MaxScale node's latest local log file and position in the
Master_Log_File
andRead_Master_Log_Pos
columns, and the output showed empty strings in theRelay_Log_File
andRelay_Log_Pos
columns.Starting with this release, the output shows the latest log file and position replicated from the primary server in the
Master_Log_File
andRead_Master_Log_Pos
columns, and the output shows the MaxScale node's latest local log file and position in theRelay_Log_File
andRelay_Log_Pos
columns.
Supplemental Notes
Enum values are case-sensitive. (MXS-4722)
For example,
slave_selection_criteria=LEAST_CURRENT_OPERATIONS
is correct whileslave_selection_criteria=least_current_operations
is not correct.
Platforms
In alignment to the MariaDB Corporation Engineering Policy, MariaDB MaxScale 6.4.9 is provided for:
CentOS 7 (x86_
64) Debian 10 (x86_
64, ARM64) Debian 11 (x86_
64, ARM64) Debian 12 (x86_
64, ARM64) 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 15 (x86_
64, ARM64) Ubuntu 20.04 (x86_
64, ARM64) Ubuntu 22.04 (x86_
64, ARM64)