MariaDB MaxScale 6.0 Release Notes -- 2021-06-30

MariaDB MaxScale 6.0.0 Release Notes -- 2021-06-30

The versioning scheme has changed; the major number will be increased at the yearly major release, the minor number will be increased at intermediate scheduled releases and the patch number whenever a maintenance release is made. Each major release is separately maintained.

According to the old scheme, this MaxScale release would have been called 2.6 and the version number would have been 2.6.0.

Release 6.0.0 is a Beta release.

This document describes the changes in release 6, when compared to release 2.5.

For any problems you encounter, please consider submitting a bug report on our Jira.

Changed Features

MXS-3107 Columnstore monitor

The Columnstore monitor that in this release only supports Columnstore version 1.5, is now capable of adjusting itself automatically to any changes in the the cluster. In the configuration it is only specified a node using which the monitor get in contact with the cluster, but after that the monitor autonomously figures out the cluster configuration and automatically adapts to any changes in the configuration. For more details, please consult the monitor documentation.

MXS-3499 causal_reads and Prepared Statements

The causal_reads feature now supports binary protocol prepared statements. For more information, refer to the documentation for causal_reads.

MXS-2838 Hintfilter and Prepared Statements

The hintfilter now supports routing hints in binary protocol prepared statements. For more information, refer to the hintfilter documentation.

MXS-3219 Galera Server States

The servers monitored by a galeramon will now also display extra status information in the REST API output regarding the server state. MaxCtrl will automatically combine this for the output of maxctrl list servers.

MXS-1245 Readwritesplit Statement Pipelining

Readwritesplit now supports "pipelined" execution of write statements. This significantly improves the performance of batch data loading with connectors that use it (e.g. the MariaDB JDBC and Node.JS connectors).

MXS-3128 Runtime Alteration of TLS Parameters

The TLS parameters for listeners and servers can now be modified at runtime. Previously the parameters were only modifiable when the object was being created.

MXS-3537 Default Value of threads

The default value of threads was changed from 1 to auto.

Dropped Features

ssl=required and ssl=disabled

The required and disabled values for the ssl parameter have been removed. Replace them with ssl=true and ssl=false.

Deprecated Features

Database Firewall filter

The filter is deprecated in MaxScale 6 and will be removed in MaxScale 7.

Multi-line Configuration Parameters

The ability to define a single configuration parameter on multiple lines is deprecated and will be removed in MaxScale 7.

New Features

MXS-2646 nosqlprotocol protocol module

This module implements a subset of the MongoDB® wire protocol and transparently converts MongoDB commands into the equivalent SQL statements that subsequently are executed on a MariaDB server. This allows client applications utilizing some MongoDB client library to use a MariaDB server as backend. As the conversion is performed in the protocol module, this functionality can be used together with all MaxScale routers and filters. Please see the nosqlprotocol documentation for more information.

MXS-3482 Defaults can be specified for maxctrl

If the file ~/.maxctrl.cnf exists, maxctrl will use any values in the section [maxctrl] as defaults for command line arguments. Please see the maxctrl documentation for details.

MXS-3411 TLS and Authentication for Kafka

The KafkaCDC as well as the new KafkaImporter both new support TLS and basic SASL authentication for Kafka.

For more information, refer to the KafkaCDC and KafkaImporter documentation.

MXS-3178 REST API Log Interface

The REST API is now able to deliver the MaxScale logs both as a normal HTTP resource as well as WebSocket stream. For more information, refer to the REST API documentation.

MXS-3108 Session Alteration

The logging options for filters can be changed at runtime with maxctrl alter filter and the filters of a session can be modified with maxctrl alter session-filters. For more information, refer to the MaxCtrl documentation as well as the REST API documentation.

MXS-2806 Stopping of Individual Listeners

Individual listeners can now be stopped with the maxctrl stop listener command. The new --force option added to the stop commands can be used to force all open connections to be closed when the associated object is stopped.

MXS-2808 Configuration Synchronization

A new configuration synchronization feature has been added to MaxScale. This feature allows multiple MaxScale instances to share a configuration file that is synchronized via the database cluster monitored by MaxScale. For more information, refer to the config_sync_cluster documentation.

MXS-2588 Data Ingestion From Kafka

The KafkaImporter module can be used to import JSON data from Kafka into MariaDB. For more information, refer to the KafkaImporter documentation.

MXS-2351 Prepared Statement Caching

Readwritesplit is now capable of caching prepared statements for individual sessions. For more information, refer to the documentation for the reuse_prepared_statements parameter.

MXS-1687 KafkaCDC and Avrorouter Failover

The KafkaCDC and Avrorouter modules now support automated failover of the replication stream when configured to replicate from servers or from a cluster. For more information, refer to the KafkaCDC and Avrorouter documentation.

MXS-2748 Session command history to RWS

Readwritesplit statistics now has two new entries: avg_sescmd_history_length and max_sescmd_history_length. These are helpful when tuning max_sescmd_history to avoid session command history to be too short, leading to potential inconsistencies, or to become too large, leading to wasted memory.

MXS-3091 Restrict RCR reads to slaves

Readconnroute has a new option master_accept_reads similar to the one in Readwritesplit. When master_accept_reads=false RCR will not route reads to the current master.

MXS-3257 SQL queries tool

A graphical user interface tool to write, run SQL queries and visualize the results. For more information, refer to the MAXGUI documentation.

MXS-3154 Logs viewer

A graphical user interface for reading and filtering MaxScale's log. For more information, refer to the MAXGUI documentation.


MXS-2723 Can launch monitor script when slave server exceeds replication lag limit. See documentation for more information.

MXS-3268 Can disable read_only on master if it's set. See documentation for more information.

MXS-3475 PAM user mapping

PAM-Authenticator supports mapping incoming PAM users to MariaDB users. See documentation for more information.

Bug fixes

  • MXS-3592 MaxCtrl object creation doesn't convert values to JSON
  • MXS-3537 Default value of threads is not optimal
  • MXS-3515 COM_STMT_EXECUTE with ID -1 isn't handled correctly
  • MXS-3443 Query performance degradation in 2.5
  • MXS-3184 COM_STMT_EXECUTE with FOUND_ROWS not routed to previous target
  • MXS-3028 Node wrongly in Maintenance, Running when the node is actually Down
  • MXS-2915 TLS version not used by mxq::MariaDB

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.

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 here.


Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.