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
resultsettracking 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 INFILEstatement is executed andautocommitis 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
smartroutercancels a query, it can cancel the wrong query. (MXS-4317)In previous releases, if
smartrouterexecuted 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_INTERRUPTEDerror code:Query execution was interruptedStarting with this release,
smartroutertracks the completion of itsKILL QUERYoperations and prevents new queries from being executed while a cancellation is pending.
If more than one
COM_QUERYpacket 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-freein 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 servercommand. (MXS-4406)Building MaxScale using Clang gives error: (MXS-4347)
error: no matching constructor for initialization of maxsql::ComPacketWhen using
mariadbmon, therebuild servercommand does not readgtidfrom thextrabackup_binlog_infofile. (MXS-4392)Starting with this release,
rebuild serverusesgtidfromxtrabackup_binlog_info-filewhen starting replication.
When an
UPDATEstatement 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,
kafkacdctruncates thecurrent_gtid.txtfile every time the router processes a GTID event.Starting with this release,
kafkacdcupdates thecurrent_gtid.txtfile 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[]andfilterquery 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_changesvariable 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_fileparameter and theuser_accounts_file_usageparameter 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_ERRORerror 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)
