MaxScale 23.08.0 Release Notes

MaxScale 23.08.0 is a Beta release of MariaDB MaxScale 23.08, released on 2023-09-04

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 Jiraarrow-up-right.

Changed Features

MXS-2744arrow-up-right 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 monitor documentationarrow-up-right for more information.

MXS-4385arrow-up-right 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 wait_timeout

The 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_replication_lag

The Readwritesplit max_slave_replication_lag parameter was renamed tomax_replication_lag and the old name is now an alias for the new name. The use of the old name is deprecated.

Dropped Features

Deprecated Features

  • The configuration parameters query_classifier and query_classifier_args have been deprecated and are ignored.

  • The strip_db_esc parameter 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.

New Features

MXS-3531arrow-up-right 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 e.g. SELECT.*.*FROM.*.*t1.

MXS-3664arrow-up-right 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 herearrow-up-right.

MXS-3983arrow-up-right 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 documentationarrow-up-right for more information.

MXS-4123arrow-up-right Fast universal causal reads

The causal_reads=fast_universal mode uses the same mechanism to retrieve the GTID position that the universal mode uses but behaves like the fast mode when routing queries.

MXS-4215arrow-up-right Manual schemarouter cache invalidation

The schemarouter database map cache can now be manually cleared with a MaxCtrl command:

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-4216arrow-up-right Stale cache usage in schemarouter

Stale entries in the schemarouter database map can now be used up tomax_staleness seconds. This reduces the impact that a shard update causes to the client applications.

MXS-4232arrow-up-right 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 herearrow-up-right.

MXS-4277arrow-up-right Configurable iss field in JWTs

The iss field of the JWTs that the REST-API in MaxScale generates can now be configured with admin_jwt_issuer. This allows REST-API clients to see who issued the token.

MXS-4377arrow-up-right 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 herearrow-up-right.

MXS-4505arrow-up-right Safer replaying of about-to-commit transactions

The new transaction_replay_safe_commit variable controls whether about-to-commit transaction are replayed when transaction_replay is enabled. The new default is to not replay transactions that were being committed when the connection to the server was lost.

MXS-4506arrow-up-right Add passthrough authentication support for Xpand LDAP

Passthrough authentication mode for MariaDBAuth-module. See authenticator documentationarrow-up-right for more information.

MXS-4549arrow-up-right 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-4618arrow-up-right LOAD DATA LOCAL INFILE from S3

The LDI filterarrow-up-right adds support for LOAD DATA LOCAL INFILE from S3 compatible storage.

MXS-4635arrow-up-right Early connection metadata

The new 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 character_set_client,character_set_connection, character_set_results, max_allowed_packet,system_time_zone, time_zone and 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 connection_id.

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-4637arrow-up-right Bootstrap process for Xpand should be region-aware

It is now possible to limit the nodes the Xpand monitor dynamically detects to those residing in a specific region. See region_namearrow-up-right and region_oidarrow-up-right for more information.

MaxGUI

Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:

Bug fixes

MXS-4477arrow-up-right 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 Limitationsarrow-up-right document.

Packaging

RPM and Debian packages are provided for the supported Linux distributions.

Packages can be downloaded herearrow-up-right.

Source Code

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 is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.

The source code is available herearrow-up-right.

This page is: Copyright © 2025 MariaDB. All rights reserved.

spinner

Last updated

Was this helpful?