Release Notes for MariaDB MaxScale 6.4.3

Overview

MariaDB MaxScale is an advanced database proxy and query router.

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

Issues Fixed

Can result in a hang or crash

Can result in unexpected behavior

  • When MaxScale is configured to use HTTPS and MaxCtrl is executed without the --secure option, the error message is unclear. (MXS-4321)

    • In previous releases, the following error message would be raised:

      Error: socket hang up
      
    • Starting with this release, the following error message is raised:

      If MaxScale is configured to use HTTPS, use the --secure option.
      
  • When using MaxCtrl with the MaxScale REST API, if an object name looks like a number, MaxCtrl automatically and incorrectly converts the object name to a number. (MXS-4313)

    • Starting with this release, object names are explicitly converted to strings.

  • The MaxScale REST API accepts empty values for id which allows users to be created with empty names. (MXS-4312)

  • MariaDB Monitor (mariadbmon) spams the log with connection errors if the server is both [Maintenance] and [Down]. (MXS-4304)

  • When the MaxScale REST API generates JWTs (JSON Web Tokens), the aud field is used to store the username instead of the sub field. (MXS-4279)

    • Starting with this release, to retain backwards compatibility with external applications, MaxScale still sets the aud field to the same value as the sub field, but MaxScale no longer reads the username from the aud field.

  • When use_sql_variables_in=all is configured and a write query modifies a user variable, MaxScale's query classifier can classify the query as a session command instead of as a write query, which can cause the query to be routed to replicas. (MXS-4269)

    • Starting with this release, write queries are not classified as session commands.

  • When MaxScale sends an authentication switch request, it expects the response to contain an authentication token, even when the user has an empty password. (MXS-4094)

  • When a query executes the CONVERT() function, the parser used by MaxScale's query classifier does not recognize the function's data type parameter, which can cause the query to be incorrectly classified and routed. (MXS-4307)

  • When the Masking Filter (masking) is configured, the filter fails to parse a SELECT statement with a WHERE clause that contains more than 1000 comparisons. (MXS-4290)

    • In previous releases, the following error was raised:

      Error : (conn=65) The statement could not be fully parsed and will hence be rejected (masking filter)
      
  • Starting with this release, the default maximum expression depth has been changed from 1000 to 4096.

  • When autocommit is disabled and a session command fails, the session command is automatically retried, but the transaction started by the session command could be started on the replica server or executed twice before the transaction is migrated to the primary server. (MXS-4289)

  • When a query contains a LIMIT clause, the parser used by MaxScale's query classifier expects an IN clause to follow the LIMIT. (MXS-4280)

    • In previous releases, the following warning was raised:

      warning: (4) [qc_sqlite] The function 'in' is not found in the canonical statement 'DELETE FROM tab LIMIT ?' created from the statement 'DELETE FROM tab LIMIT 100'.
      
  • When a server is [Down], MariaDB Monitor (mariadbmon) can incorrectly label the server as [Slave of External Server]. (MXS-4282)

  • When the config_sync_cluster parameter is enabled and a cached cluster configuration is present, if MaxScale is started with the --export-config option, MaxScale attempts to start normally instead of exiting after verifying and exporting the configuration. (MXS-4275)

  • When query results are exported from MaxGUI's Query Editor, NULL values are written to the CSV file as empty strings. (MXS-4267)

  • When maxctrl create listener is executed and ssl=false is explicitly set, the ssl parameter is implicitly set to true if other TLS-related parameters (such as ssl_cert) are specified. (MXS-4247)

  • When the Query Log All Filter (qlafilter) is used, the timestamp can sometimes be omitted from the query log. (MXS-4231)

  • When a service is viewed in MaxGUI, the service's server routing targets are shown, but the service's service routing targets are not shown. (MXS-4221)

Platforms

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

  • Red Hat Enterprise Linux 9 (x86_64, ARM64)

  • Rocky Linux 8 (x86_64, ARM64)

  • Rocky Linux 9 (x86_64, ARM64)

  • SUSE Linux Enterprise Server 15 (x86_64, ARM64)

  • Ubuntu 18.04 (x86_64, ARM64)

  • Ubuntu 20.04 (x86_64, ARM64)

  • Ubuntu 22.04 (x86_64, ARM64)