Release Notes for MariaDB MaxScale 23.02.4

Overview

MariaDB MaxScale is an advanced database proxy and query router. MaxScale is a component of MariaDB database products.

MariaDB MaxScale 23.02.4 was released on 2023-08-30. This release is of General Availability (GA) maturity.

This document describes the changes in MaxScale 23.02.4 when compared to MaxScale 23.02.3.

Notable Changes

  • force_connection_keepalive parameter added, with default value false. (MXS-4720)

    • When force_connection_keepalive=false (the default), connection keepalive pings are sent only if the client is executing a query or has been idle for less than the duration configured in connection_keepalive

    • When force_connection_keepalive=true, keepalive pings are sent unconditionally to any backends that have been idle for longer than connection_keepalive seconds. This option can be used to emulate MaxScale's behavior prior to version 2.5.21 for cases where long-lived application connections rely on the old unconditional keepalive pings.

    • When force_connection_keepalive=true and connection_keepalive in MaxScale is set to a lower value than wait_timeout on the database, the timeouts controlled by wait_timeout will no longer be effective. In this circumstance, MaxScale unconditionally sends pings which make the client behave like it is not idle, so the connections will not be killed by wait_timeout.

Issues Fixed

Can result in data loss

Can result in a hang or crash

  • With the Avro Router (avrorouter), MaxScale (mxs1687_avro_ha) can crash when the replication event is off by two bytes. (MXS-4674)

  • with replication via Binlog Router (binlogrouter), when the semi-synchronous replication is not configured for the server from which the binlogrouter is replicating, the binlogrouter eventually stops working. (MXS-4668)

  • With Binlog Router (binlogrouter), if the transaction being replicated does not fit in memory, the process will be killed or a std::bad_alloc will be thrown. (MXS-4690)

  • With mariadbclient, possible hang when connection_init_sql_file queries are executed. (MXS-4719)

Can result in unexpected behavior

  • The maxscale.cnf default file references MaxScale 6 documentation and if you run REPLICATION CLIENT, FILE, SUPER, RELOAD, PROCESS, SHOW DATABASES, EVENT grants, you will get an error with current versions of MariaDB. (MXS-4708)

  • With a readconnroute service, when a connection pool is connected, the session command response verification unnecessarily stores prepared statements, which increases CPU usage for each prepared statement. (MXS-4726)

  • SELECTSELECT statements targeting the information_schema are cached and fail to invalidate appropriately, for example when a table is dropped. (MXS-4717)

    • Starting with this release, SELECT statements that target the information_schema are not cached.

  • When the ALTER, DROP, and RENAME statements are performed on a table, cache fails to invalidate cached SELECTSELECT statements on the table that has been changed. (MXS-4706)

  • With MaxScale GUI, default value of inputs in the object creation dialog is empty after closing the dialog. (MXS-4730)

  • With Binlog Router (binlogrouter), GTID values are compared as 32-bit integers rather than 64-bit integers. (MXS-4700)

  • With Galera Monitor (galeramon), replication lag is not updated for replicating servers. (MXS-4721)

  • With MariaDB Monitor (mariadbmon), switchover can fail with an Unknown thread id error (1094). (MXS-4675)

  • With MariaDB Monitor (mariadbmon), GTID updates may block REST API traffic. (MXS-4701)

  • The query classifier does not correctly parse a RENAME statement. (MXS-4714)

  • With Read/Write Split Router (readwritesplit), interrupted queries are retried even if all backends have encountered a permanent failure. (MXS-4696)

    • Starting with this release, retries are not performed if all backends have encountered a permanent failure, resulting in faster reporting of errors to the client.

  • Replication via Binlog Router (binlogrouter) temporarily blocks the REST API. (MXS-4685)

  • With the query classifier, SHOW TABLE STATUS FROM ... fails with Schema Router (schemarouter). (MXS-4704)

Platforms

In alignment to the MariaDB Corporation Engineering Policy, MariaDB MaxScale 23.02.4 is provided for:

  • CentOS 7 (x86_64)

  • Debian 10 (x86_64, ARM64)

  • Debian 11 (x86_64, ARM64)

  • Debian 12 (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 20.04 (x86_64, ARM64)

  • Ubuntu 22.04 (x86_64, ARM64)