Release Notes for MariaDB MaxScale 6.1.1

MariaDB MaxScale is an advanced database proxy, firewall, and query router. MaxScale is a component of MariaDB Enterprise.

MariaDB MaxScale 6.1.1 was released on 2021-08-26. This release is of GA (General Availability) maturity.

Notable Changes

  • NoSQL Listener

    • MariaDB MaxScale's nosqlprotocol module supports a subset of MongoDB commands. This module transparently translates MongoDB commands to the equivalent SQL statements and executes queries on JSON data stored on a MariaDB backend. (MXS-2646)

    • This feature is provided as a Technical Preview and should not be used for production workloads.

  • Ingest data from Apache Kafka

    • MariaDB MaxScale's KafkaImporter module reads messages from Apache Kafka and streams JSON to a MariaDB backend. (MXS-2588)

  • Connect and query from MaxScale's web GUI

New Features

  • Automatically sync MaxScale configuration data

    • MariaDB MaxScale's config_sync_cluster parameter enables synchronization of configuration changes between MaxScale instances through a MaxScale-monitored database. (MXS-2808)

    • Prior to this feature, configuration sync was performed outside MaxScale, either manually or with custom automation.

  • Pipelined execution of write statements by Read-Write Split Router

    • The readwritesplit router supports pipelined execution of write statements. No action is needed to enable this feature. (MXS-1245)

  • PAM Authenticator user mapping

  • Automated failover for KafkaCDC and Avrorouter

    • The cooperative_replication parameter of the kafkacdc router enables high availability through automated failover between multiple MaxScale instances. (MXS-1687)

    • The cooperative_replication parameter of the avrorouter router enables high availability through automated failover between multiple MaxScale instances. (MXS-1687)

  • Read Connection Router read restriction

    • The master_accept_reads parameter has been added to the readconnroute router. (MXS-3091)

    • By default, master_accept_reads=true

    • When master_accept_reads=false, readconnroute will not route reads to the current Primary (master) server.

  • Replication lag triggered script execution

    • The script_max_replication_lag parameter of the mariadbmon monitor triggers the execution of a defined script when replication lag exceeds a defined threshold. (MXS-2723)

  • Enforce writable Primary (master)

    • A Primary (master) should never become read-only during normal operations, but it could become read-only in certain problematic circumstances. For example:

      • The Primary could become read-only if the database administrator accidentally set read_only to ON on the server.

      • The Primary could remain read-only if mariadbmon promoted the node to Primary during a switchover or failover, but MaxScale crashed before mariadbmon could set read_only to OFF on the new Primary.

    • To configure the behavior of mariadbmon when it detects that the Primary has become read-only, the enforce_writable_master parameter has been added to the mariadbmon monitor:

      • When the enforce_writable_master parameter is set to true, mariadbmon will remove the read-only state from the Primary. The Primary will temporarily be unavailable for writes while mariadbmon corrects the state of the node. (MXS-3268)

      • When the enforce_writable_master parameter is set to false, mariadbmon will failover to a new Primary.

    • Prior to this release, mariadbmon would always failover to a new Primary.

Operational Enhancements

  • maxctrl accepts configuration defaults

    • When ~/.maxctrl.cnf exists, maxctrl will use values from the [maxctrl] section as command-line argument defaults. (MXS-3482)

  • MaxScale logs via REST API

  • Runtime filter changes

    • Logging options for filters can be changed at runtime with maxctrl alter filter (MXS-3108)

    • The filters of a session can be changed with maxctrl alter session-filters (MXS-3108)

    • Session changes can be made with maxctrl or REST API.

  • Individual listeners can be stopped

    • MaxCtrl supports stopping individual listeners. (MXS-3108)

    • maxctrl stop listener will stop a listener.

    • Adding the --force option to a stop command forces all open connections to be closed when the associated object is stopped.

  • Session command history limit

    • readwritesplit router supports the max_sescmd_history parameter to limit the session command history.

    • readwritesplit router statistics now include avg_sescmd_history_length and max_sescmd_history_length to aid in tuning max_sescmd_history (MXS-2748)

  • View Logs from MaxGUI

Other Changes

  • dbfwfilter is deprecated (but not removed) in MaxScale 6. An alternative solution will be provided with MaxScale 7.

  • Multi-line configuration parameters are deprecated (but not removed) in MaxScale 6. Multi-line configuration parameters will be removed with MaxScale 7.

  • The default value of threads has changed from 1 to auto (MXS-3537)