Release Notes for MariaDB MaxScale 22.08.3
This page is part of MariaDB's Documentation.
The parent of this page is: Release Notes for MariaDB MaxScale 22.08
Topics on this page:
Overview
MariaDB MaxScale is an advanced database proxy and query router. MaxScale is a component of MariaDB database products.
MariaDB MaxScale 22.08.3 was released on 2022-12-02. This release is of General Availability (GA) maturity.
This document describes the changes in MaxScale 22.08.3
when compared to MaxScale 22.08.2
.
Issues Fixed
Can result in a hang or crash
When using MaxScale 22.08.2, connection stalls after running some commands. (MXS-4416)
In MaxScale 22.08.2, the
resultset
tracking code does not increment the iterators correctly, so MaxScale incorrectly expects more data to arrive and queues all future queries while waiting for data that will not arrive.
When Schema Router (
schemarouter
) is used, authentication failures during shard mapping are not handled correctly. (MXS-4393)When Schema Router (
schemarouter
) is used, errors can cause MaxScale to crash due to a race condition in the router's error handler. (MXS-4389)When the
LOAD DATA LOCAL INFILE
statement is executed andautocommit
is changed, the session can hang until timeout occurs. (MXS-4388)When using
maxgui
, running a query in the Query Editor without selecting a schema can cause an infinite loop, preventing the same Query tab from being used again. (MXS-4365)
Can result in unexpected behavior
When
smartrouter
cancels a query, it can cancel the wrong query. (MXS-4317)In previous releases, if
smartrouter
executed two different canonical forms of the same query on the same server, the router could cancel the wrong one usingKILL QUERY
, which could cause the client to receive an error with theER_QUERY_INTERRUPTED
error code:Query execution was interrupted
Starting with this release,
smartrouter
tracks the completion of itsKILL QUERY
operations and prevents new queries from being executed while a cancellation is pending.
If more than one
COM_QUERY
packet is read from the client at the same time, the query classification data of the first query is applied to all the queries. (MXS-4421)When using
use-after-free
in theregexfilter
, when a matching SQL statement is executed, the filter frees the buffer that contains the SQL before it logs the message about the match. (MXS-4418)When using Xpand Monitor (
xpandmon
), an unknown sub-state warning is logged for "leaving" and "late, leaving" states. (MXS-4415)When an Xpand node is softfailed it goes into a "leaving" sub-state. When a late Xpand node is softfailed, it goes into a "late, leaving" sub-state. In previous releases, these states were not recognized and resulted in an unknown sub-state warning. For example:
info : [xpandmon] 'late, leaving' is an unknown sub-state for a Xpand node.
Starting with this release, the xpand sub-states "late" and "late, leaving" have been added and will no longer result in an unknown sub-state warning.
When using a Galera cluster, having an anonymous user account on the host causes the cluster status to be incorrectly reported when using the
maxctrl list server
command. (MXS-4406)Building MaxScale using Clang gives error: (MXS-4347)
error: no matching constructor for initialization of maxsql::ComPacket
When using
mariadbmon
, therebuild server
command does not readgtid
from thextrabackup_binlog_info
file. (MXS-4392)Starting with this release,
rebuild server
usesgtid
fromxtrabackup_binlog_info-file
when starting replication.
When an
UPDATE
statement references a user-defined variable, MaxScale's query classifier classifies the statement as a read statement, which can cause the statement to be routed to a replica server and can break replication. (MXS-4413)When the Kafka CDC Router (
kafkacdc
) is used, disk utilization is high. (MXS-4404)In previous releases,
kafkacdc
truncates thecurrent_gtid.txt
file every time the router processes a GTID event.Starting with this release,
kafkacdc
updates thecurrent_gtid.txt
file more efficiently by keeping the file handle open and writing the GTID to the file as a null-terminated string, which allows truncation to be avoided.
When the
fields[]
andfilter
query parameters are both used with the REST API, all results could be improperly removed by the filter. (MXS-4397)When executing a long query from the shell, the tail of the table name is interpreted as a constant number and replaced with a question mark (
?
). (MXS-4356)When the server is destroyed and created with the
persist_runtime_changes
variable set tofalse
, the debug assertion fails. This can cause some objects created at runtime to have an empty string in the filename field instead of a null JSON value. (MXS-4352)When the configuration file is processed, the MaxScale section name is parsed in a case-insensitive manner, so the forms
[MaxScale]
,[MAXSCALE]
, and[maxscale]
are accepted. (MXS-4301)When MaxScale is configured to read database grants from a file using the
user_accounts_file
parameter and theuser_accounts_file_usage
parameter is set tofile_only_always
, MaxScale is not aware of which databases are available. (MXS-3043)In previous releases, the following error is raised with the
ER_BAD_DB_ERROR
error code:Unknown database 'DATABASE_NAME'
Starting with this release, when MaxScale reads a database privilege from the user accounts file, it adds the database to its list of known databases.
Interface Changes
MaxGUI
A user cannot exit the Query Editor using the keyboard (keyboard trap). (MXS-4399)
The "Run" button on the "Results" tab has a text label instead of an icon. (MXS-4378)
The "Save Script" button becomes unavailable after running a query. (MXS-4369)
The new values in the GUI table are not updated until the browser is refreshed. (MXS-4360)
If the authorization token has expired and the user is still on the Query Editor page, the Query Editor does not redirect the user to the login page. (MXS-4358)
Platforms
In alignment to the MariaDB Corporation Engineering Policy, MariaDB MaxScale 22.08.3 is provided for:
CentOS 7 (x86_
64) Debian 9 (x86_
64, ARM64) Debian 10 (x86_
64, ARM64) Debian 11 (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 18.04 (x86_
64, ARM64) Ubuntu 20.04 (x86_
64, ARM64) Ubuntu 22.04 (x86_
64, ARM64)