MariaDB MaxScale 23.08 Release Notes -- 2023-09-04
MariaDB MaxScale 23.08 Release Notes -- 2023-09-04
Release 23.08.0 is a Beta release.
This document describes the changes in release 23.08, when compared to release 23.02.
For any problems you encounter, please consider submitting a bug report on our Jira.
MXS-2744 Switchover improvements
During switchover, MariaDB-Monitor creates a new connection to the master with
a long timeout, ignoring the limit of
backend_read_timeout. This reduces the
probability of long commands such as
set global read_only=1 timing out. When
kicking out super and read-only admin users, monitor prevent writes with
"flush tables with read lock". See
for more information.
MXS-4385 No newlines in logged messages
Earlier when the SQL sent by a client was logged due to
log_info being enabled,
the SQL was logged verbatim, which would cause the log to contain extra newlines
in case the SQL did. From 23.08 forward, newlines are replaced with the text
so that a logged line will not contain any extra newlines.
connection_timeout renamed to
connection_timeout parameter was renamed to
wait_timeout and the old
name is now an alias to the new name. The use of the old name is deprecated.
max_slave_replication_lag renamed to
max_slave_replication_lag parameter was renamed to
max_replication_lag and the old name is now an alias for the new name.
The use of the old name is deprecated.
The configuration parameters
query_classifier_argshave been deprecated and are ignored.
strip_db_escparameter is deprecated and will be removed in a future release. The default behavior of stripping escape characters is in all known cases the correct thing to do and as such this parameter is never required.
MXS-3531 Lower regular expression matching limits
The PCRE2 library used by MaxScale now limits the heap memory to 1GB and the
matching limit to 500000 matches. This change was done to prevent catastrophic
backtracing that occurred when regular expressions used nested recursion
MXS-3664 Built-in caching in nosqlprotocol
The NoSQL protocol module now supports internal caching. Since this cache uses keys created from NoSQL protocol requests and stores NoSQL protocol responses, it is more efficient than the regular cache filter. More information about this functionality can be found here.
MXS-3983 Add switchover-force command
This version of switchover performs the switch even if the primary server is unresponsive i.e. responds to pings but does not perform any commands in a reasonable time. May lead to diverging replication on the old primary. See monitor documentation for more information.
MXS-4123 Fast universal causal reads
causal_reads=fast_universal mode uses the same mechanism to retrieve the
GTID position that the
universal mode uses but behaves like the
when routing queries.
MXS-4215 Manual schemarouter cache invalidation
The schemarouter database map cache can now be manually cleared with a MaxCtrl command:
maxctrl call command schemarouter clear <service>
This makes it possible to schedule the clearing of the caches for busy systems where the update of the map takes a long time.
MXS-4216 Stale cache usage in schemarouter
Stale entries in the schemarouter database map can now be used up to
max_staleness seconds. This reduces the impact that a shard update causes to
the client applications.
MXS-4232 Remember old service password
When the service password is changed, MaxScale will remember and use the previous password if the new does not work. This makes it easier to manage the changing of the password, as the password in the backend and in MaxScale need not be changed simultaneously. More information about this functionality can be found here.
iss field in JWTs
iss field of the JWTs that the REST-API in MaxScale generates can now be
admin_jwt_issuer. This allows REST-API clients to see who
issued the token.
MXS-4377 Common options
It is now possible to specify options in an include-section, to be included by other sections. This is useful, for instance, if there are multiple monitors that otherwise are identically configured, but for their list of servers. More information about this functionality can be found here.
MXS-4505 Safer replaying of about-to-commit transactions
transaction_replay_safe_commit variable controls whether
about-to-commit transaction are replayed when
enabled. The new default is to not replay transactions that were being committed
when the connection to the server was lost.
MXS-4506 Add passthrough authentication support for Xpand LDAP
Passthrough authentication mode for MariaDBAuth-module. See authenticator documentation for more information.
MXS-4549 Queries with partially returned results can be replayed
If a query in a transaction is interrupted and the result was partially delivered to the client, readwritesplit will now retry the execution of the query and discard the already delivered part of the result.
MXS-4618 LOAD DATA LOCAL INFILE from S3
The LDI filter adds support for
LOAD DATA LOCAL INFILE
from S3 compatible storage.
MXS-4635 Early connection metadata
connection_metadata listener parameter controls the set of metadata
variables that are sent to the client during connection creation.
By default the values of the system variables
tx_isolation are sent as well as the
current number of connections as the
threads_connected variable and the real
64-bit connection ID as
Compatible MariaDB connectors will use this information from MaxScale instead of querying the values of the variables from the database server which greatly speeds up connection creation.
MXS-4637 Bootstrap process for Xpand should be region-aware
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
MXS-4364 Auto choose active schema for new query tab.
MXS-4477 Dashboard graphs refresh unnecessarily
Known Issues and Limitations
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
maxscale-X.Y.Z. Further, the default branch is always the latest GA version
The source code is available here.