Release Notes for MariaDB MaxScale 6.2.2

Overview

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

MariaDB MaxScale 6.2.2 was released on 2022-02-14. This release is of General Availability (GA) maturity.

Issues Fixed

Can Result in Crashes, Hangs, Stalls

  • When rebalancing is configured by setting rebalance_period to a non-zero value, MaxScale can crash. (MXS-3989)

    • Rebalancing is disabled in this release to avoid crashes.

    • rebalance_period, rebalance_threshold, and rebalance_window are ignored in this release.

  • When the BinlogRouter is used, MaxScale can stall and crash. (MXS-3958)

  • Slow reverse DNS lookups during authentication can cause MaxScale to stall. (MXS-3886)

    • When database users are defined with a domain name ('USER'@'HOST.example.com'), MaxScale performs a reverse DNS lookup of the client IP address to see if the IP address resolves to the domain name associated with the user account.

    • When database users are defined with an IP address ('USER'@'IP') or a wildcard ('USER'@'%'), reverse DNS lookups are unnecessary, but MaxScale still performs reverse DNS lookups by default.

    • This release adds the skip_name_resolve parameter to disable reverse DNS lookups in environments where they are unnecessary.

    • When skip_name_resolve is set to true, MaxScale will not perform reverse DNS lookups of client IP addresses.

  • When MaxScale begins shutting down and receives a REST API request at the same time, MaxScale can hang. (MXS-3865)

  • MariaDB replica fails due to duplicate transaction-start records in the binlog. (MXS-3953)

    • A transaction-start is immediately written to the binlog and if MaxScale is killed before the full transaction is received, the "transaction-start" will (eventually) be duplicated in the log which could result in the failure of a connected MariaDB replica.

  • Crash after unexpected result when there is a mismatch between the connection capabilities of the client and the backend server. For example if: (MXS-3955)

    • MaxScale is used with MySQL 5.6

    • MaxScale is used with MySQL 5.7 that has the query cache enabled

    • Persistent connections are being used and the clients do not use a uniform set of capabilities, such as using different connectors or connector versions

Can Result in Unexpected Behavior

  • When the BinlogRouter is used, replica servers can receive a version string with the -BinlogRouter suffix repeated multiple times (MXS-3978)

  • When a service's filter is altered or removed, MaxScale can change the capabilities of existing sessions using the service. (MXS-3973)

  • When MariaDB Monitor (MariaDBMon) encounters a connection error during startup, the connection error is not logged. (MXS-3966)

  • When transaction replay is enabled, ReadWriteSplit Router doesn't detect implicit commits triggered by certain SQL statements, which can cause a transaction containing an implicit commit to be committed a second time during transaction replay. (MXS-3959)

    • Starting with this release, ReadWriteSplit Router detects implicit commits triggered by BEGIN and START TRANSACTION. Implicit commits triggered by other SQL statements can still be problematic.

  • When "transaction" is used as an identifier in a statement, such as when querying a table named transaction, MaxScale's query classifier incorrectly parses "transaction" as a reserved word, which can cause filters to handle the statement incorrectly. (MXS-3949)

  • When Xpand Monitor (XpandMon) is used, maxctrl show monitors doesn't show all configuration parameters. (MXS-3932)

  • In MaxGUI, with Columns selected in the dropdown menu in the results pane, toggling between columns in a query result does not toggle the visibility of columns in the result table. (MXS-3948)

Platforms

In alignment to the MariaDB Corporation Engineering Policy, MariaDB MaxScale 6.2.2 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)

  • SUSE Linux Enterprise Server 12 (x86_64 / ARM64)

  • SUSE Linux Enterprise Server 15 (x86_64 / ARM64)

  • Ubuntu 18.04 (x86_64 / ARM64)

  • Ubuntu 20.04 (x86_64 / ARM64)