All pages
Powered by GitBook
1 of 59

MaxScale Release Notes

MariaDB MaxScale 25.01 Release Notes

MaxScale 25.01.3 Release Notes

Release 25.01.3 is a GA release. It was released on 2025-06-25.

NOTE: The MaxScale package has been renamed from maxscale-enterprise back to maxscale, which may, when repositories are used, require 25.01.1 and 25.01.2 to be removed before installing 25.01.3.

This document describes the changes in release 25.01.3, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-5626 Network options for maxvisualize are not documented

  • MXS-5625 maxpostprocess install failure leaves a corrupt installation

  • MXS-5618 Maxctrl interactive mode doesn't use --tls-verify-server-cert=false

  • MXS-5613 The logout screen is shown when accessing the MaxGUI login view.

  • MXS-5599 Processing of conditional headers is incorrect

  • MXS-5598 MaxCtrl fails to read large inputs from stdin

  • MXS-5597 admin_oidc_url is documented to not be dynamic when in fact it is

  • MXS-5590 REST-API always sends a Connection: close header

  • MXS-5588 Signal 11 crash when enabling causal reads with Galera

  • MXS-5584 Diff-router does not decrypt password before stopping replication

  • MXS-5583 Diff-router should log more information when starting

  • MXS-5582 Add a Service with a CLUSTER as its target breaks CONFIG SYNC

  • MXS-5581 Diff-router's behaviour is confusing when it fails to start

  • MXS-5577 Aborted connection on backend mariadb with persistpool maxscale

  • MXS-5576 Maxctrl config permission check error message is misleading

  • MXS-5567 Wrong password in interactive mode is only seen after the first command

  • MXS-5566 --secretsdir has no default value

  • MXS-5564 Query Editor default connection type preference is changed unexpectedly

  • MXS-5563 Using PKCS#1 private key in the REST-API results in cryptic errors

  • MXS-5556 Trailing parts of large session command are not routed correctly

  • MXS-5544 Prepared statements fail through schemarouter for Columnstore

  • MXS-5525 Masking with functions uses wrong rule settings

  • MXS-5314 Resultset table not fully expanded for inactive query tab

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.

Packaging

RPM and Debian packages are provided for the supported Linux distributions.

Packages can be downloaded here.

This page is: Copyright © 2025 MariaDB. All rights reserved.

MaxScale 25.01.2 Release Notes

Release 25.01.2 is a GA release.

This document describes the changes in release 25.01.2, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

External CVEs resolved.

  • CVE-2023-39410 Fixed by MXS-5454 Update avro-c to 1.11.4

Bug fixes

  • MXS-5542 kafkacdc commits offsets when it probes GTIDs from Kafka

  • MXS-5541 Logs Archive page doesn't show useful API error

  • MXS-5535 Not all parameters are shown when creating a new object in the GUI

  • MXS-5534 maxpostprocess and maxvisualize do not work when used from a binary tarball

  • MXS-5533 Remove session_trace parameter from services section

  • MXS-5532 Diff does not detect anomalous configuration

  • MXS-5531 Binary tarballs include experimental modules

  • MXS-5530 Default value of wait_timeout should be the same as in MariaDB

  • MXS-5529 Session commands with max_slave_connections=0 after switchover do not discard stale connections

  • MXS-5528 Diff router is not compatible with config-sync

  • MXS-5527 The "INSERT INTO...RETURNING" syntax breaks causal_reads

  • MXS-5522 config sync does not ignore port for listeners

  • MXS-5521 Crash in diff router

  • MXS-5520 config_sync_password infinitely doubles after maxscale restart & alter command

  • MXS-5519 Documentation regarding mixing of cooperative_monitoring_locks and passive is unclear

  • MXS-5518 Documentation of switchover-force lacks warnings

  • MXS-5513 Config Wizard page is accessible by basic user

  • MXS-5511 The Contact view in the GUI has outdated information

  • MXS-5510 Upgrading to 25.01.1 causes systemd service files to be removed

  • MXS-5509 WCAR visualization is not included in the package

  • MXS-5508 Relationship selections auto-cleared when creating a new monitor object

  • MXS-5507 readwritesplit enables multi-statements regardless of the state of causal_reads

  • MXS-5505 Revert 60400ee256 MXS-4685: Seek GTIDs incrementally

  • MXS-5493 Cluster tree is not visualized accurately

  • MXS-5492 idle_session_pool_time=0s does not fairly share connections

  • MXS-5490 Address field unexpectedly auto-truncates on the GUI dashboard

  • MXS-5488 Need Documentation updates for Maxscale install recommendation

  • MXS-5485 Reads are not retried if connection creation fails due to sub-service failure

  • MXS-5484 Binlogrouter multidomain support broken in 24.02

  • MXS-5481 Galera Monitor does not log an error if "SHOW SLAVE STATUS" fails

  • MXS-5480 disable_sescmd_history=true causes a use-after-free

  • MXS-5476 "maxctrl alter monitor MyMonitor auto_failover=true" fails

  • MXS-5471 GUI reference doc links are broken

  • MXS-5468 use-after-free when stopping capture

  • MXS-5467 Parallel query execution fails when multiple query tabs are open

  • MXS-5466 MaxCtrl warnings are very verbose

  • MXS-5464 Result headers are not fully expanded in the inactive tab when running queries parallelly

  • MXS-5463 GUI Logs Archive doesn't display latest log on second visit without refresh

  • MXS-5462 Preserve timestamp when compressing files in Binlogrouter

  • MXS-5455 Errors during loading of users lack the service name

  • MXS-5451 GUI tooltip persists on screen after page navigation

  • MXS-5450 maxctrl list queries fails

  • MXS-5449 Encrypted passwords cannot be used with maxctrl

  • MXS-5443 Log message: Unknown prepared statement handler given to MaxScale

  • MXS-5441 Dropdown inputs in Query Editor table editor are not focusable

  • MXS-5437 Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure

  • MXS-5404 The monitor journal file is not discarded aggressively enough.

  • MXS-5340 ed25519 socket droped when no user_mapping_file

  • MXS-5314 Resultset table not fully expanded for inactive query tab

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.

Packaging

RPM and Debian packages are provided for the supported Linux distributions.

Packages can be downloaded here.

This page is: Copyright © 2025 MariaDB. All rights reserved.

MaxScale 25.01.1 Release Notes

Release 25.01.1 is a GA release. It was released on 2025-01-16.

This document describes the changes in release 25.01, when compared to release 24.02.

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

Changed Features

MXS-5122 Scale everything according to the amount of available container resources

If MaxScale is running in a container, it will adapt to amount of resources (CPUs and memory) available in the container. See threads and query_classifier_cache_size for more information.

Dropped Features

Deprecated Features

New Features

MXS-3628 Fully support inclusion and exclusion in projection document of find

NoSQL now supports the exclusion of any field and not only _id. Further, fields can also be added and the value of an existing field reset using expressions.

MXS-4761 Diff - Router for comparing different servers

Diff is a router using which the behaviour of two servers can be compared. Please see Diff for more information.

MXS-4791 Workload Capture and Replay

A number of components using which a live workload can be captured and later replayed. Please see Wcar for more information.

MXS-4842 Safe failover and safe auto_failover

Added a safe-option to MariaDB Monitor auto-failover. safe does not perform failover if data loss is certain. Equivalent manual command added. See monitor documentation for more information.

MXS-4897 Add admin_ssl_cipher setting

Enabled REST-API TLS ciphers can be tuned with the global setting admin_ssl_cipher.

MXS-4986 Add low overhead trace logging

The new trace_file_dir and trace_file_size parameters can be used to enable a trace log that writes messages from all log levels to a set of rotating log files.

This feature is an alternative to enabling log_info which is not always feasible in a production system due to the high volume of log data that it creates. This overhead of writing large amounts of trace logging data could be mitigated by placing the log directory on a volatile in-memory filesystem but this risks losing important warning and error messages if the system were to be restarted.

The new trace logging mechanism combines the best of both worlds by writing the normal log messages to the MaxScale log while also writing the info level log messages into a separate set of rotating log files. This way, the important messages are kept even if the system is restarted while still allowing the low-level trace logging to be used to analyze the root causes of client application problems.

MXS-5016 Add support for MongoDB Compass

NoSQL now implements the commands needed by MongoDB Compass, which now can be used for browsing NoSQL collections.

MXS-5037 Track reads and writes at the server level

In addition to the existing routed_packets counter in the service and server statistics, the number of reads and writes is also tracked with the new routed_writes and routed_reads counters.

MXS-5041 Don't replay autocommit statements with transaction_replay

With transaction_replay_safe_commit=true (the default), readwritesplit will no longer replay statements that were executed with autocommit=1. This means that a statement like INSERT INTO software(name) VALUES ('MariaDB') will not be replayed if it's done outside of a transaction and its execution was interrupted. This feature makes transaction_replay safer by default and avoids duplicate execution of statements that may commit a transaction.

MXS-5047 Test primary server writability in MariaDB Monitor

MariaDB Monitor can perform a write test on the primary server. Monitor can be configured to perform a failover if the write test fails. This may help deal with storage engine or disk hangups. See monitor documentation for more information.

MXS-5049 Implement host_cache_size in MaxScale

Similar to MariaDB, MaxScale now stores the last 128 hostnames returned by reverse name lookups. This improves the performance of clusters where clients are authenticated based on a hostname instead of a plain IP address. The new host_cache_size parameter can be used to control the size of the cache and the cache can be disabled with host_cache_size=0.

MXS-5069 support bulk returning all individual results

MaxScale now supports the protocol extensions added in MariaDB 11.5.1 where the bulk execution of statements returns multiple results.

MXS-5075 Add switchover option which leaves old primary server to maintenance mode

MariaDB Monitor module command switchover can now be called with key-value arguments. This form also supports leaving the old primary in maintenance mode instead of redirecting it. See monitor documentation for more information.

MXS-5136 Extend the number of supported aggregation stages and operations.

NoSQL now implements the command aggregate and provides a number of aggregation pipe line stages and operators.

MaxGUI

Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:

  • MXS-3852 Show Only SQL editor Sessions/Connections Status Separately On Maxscale GUI

  • MXS-3952 Auto-inject LIMIT and OFFSET, and allow no limit

  • MXS-4370 Auto expand active schema node

  • MXS-4849 Export the visualized configuration graph

  • MXS-4886 Query Editor: Add UI for creating and altering object

  • MXS-5228 Visualize active_operations

Bug fixes

These are bug-fixes, which are not present in MaxScale 24.02.4, the most recent MaxScale maintenance release.

  • MXS-4785 KafkaCDC JSON conversion is taking most of the CPU time

  • MXS-5201 SystemD complains about legacy PID file paths

  • MXS-5246 Kafkacdc may produce invalid JSON

  • MXS-5314 Resultset table not fully expanded for inactive query tab

  • MXS-5332 The /var/lib/maxscale/maxscale.cnf.d should be a part of the packages

  • MXS-5382 Errors due to max_connections being exceeded are always fatal errors

  • MXS-5395 Kafkacdc errors for wrong GTID positions are not clear

  • MXS-5397 NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE

  • MXS-5401 absolute path to maxctrl.js in binary tarball bin/maxscale script

  • MXS-5408 rebuild-server does not work with MariaDB 11.4

  • MXS-5409 list session in GUI shows wrong amount of sessions

  • MXS-5415 retry_failed_reads is not affected by delayed_retry_timeout

  • MXS-5419 Duration types that only take seconds return ms as units instead of s

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.

Packaging

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.

This page is: Copyright © 2025 MariaDB. All rights reserved.

MariaDB MaxScale 2.5 Release Notes

MaxScale 2.5 Limitations and Known Issues

This document lists known issues and limitations in MariaDB MaxScale and its plugins. Since limitations are related to specific plugins, this document is divided into several sections.

  • Limitations and Known Issues within MariaDB MaxScale

    • Configuration limitations

      • Multiple MaxScales on same server

    • Security limitiations

      • MariaDB 10.2

    • MariaDB Default Values

    • Query Classification

    • Prepared Statements

    • Protocol limitations

      • Limitations with MySQL/MariaDB Protocol support (MariaDBClient)

    • Authenticator limitations

      • Limitations in the GSSAPI authenticator

      • Limitations in the MySQL authenticator (MariaDBAuth)

    • Filter limitations

      • Database Firewall limitations (dbfwfilter)

      • Tee filter limitations (tee)

    • Monitor limitations

      • Limitations with Galera Cluster Monitoring (galeramon)

    • Router limitations

Configuration limitations

In versions 2.1.2 and earlier, the configuration files are limited to 1024 characters per line. This limitation was increased to 16384 characters in MaxScale 2.1.3. MaxScale 2.3.0 increased this limit to 16777216 characters.

In versions 2.2.12 and earlier, the section names in the configuration files were limited to 49 characters. This limitation was increased to 1023 characters in MaxScale 2.2.13.

Multiple MaxScales on same server

Starting with MaxScale 2.4.0, on systems with Linux kernels 3.9 or newer due to the addition of SO_REUSEPORT support, it is possible for multiple MaxScale instances to listen on the same network port if the directories used by both instances are completely separate and there are no conflicts which can cause unexpected splitting of connections. This will only happen if users explicitly tell MaxScale to ignore the default directories and will not happen in normal use.

Security limitiations

MariaDB 10.2

The parser of MaxScale correctly parses WITH statements, but fails to collect columns, functions and tables used in the SELECT defining the WITH clause.

Consequently, the database firewall will not block WITH statements where the SELECT of the WITH clause refers to forbidden columns.

MariaDB Default Values

MaxScale assumes that certain configuration parameters in MariaDB are set to their default values. These include but are not limited to:

  • autocommit: Autocommit is enabled for all new connections.

  • tx_read_only: Transactions use READ WRITE permissions by default.

Query Classification

Follow the MXS-1350 Jira issue to track the progress on this limitation.

XA transactions are not detected as transactions by MaxScale. This means that all XA commands will be treated as unknown commands and will be treated as operations that potentially modify the database (in the case of readwritesplit, the statements are routed to the master).

MaxScale will not track the XA transaction state which means that any SELECT queries done inside an XA transaction can be routed to servers that are not part of the XA transaction.

This limitation can be avoided on the client side by disabling autocommit before any XA transactions are done. The following example shows how a simple XA transaction is done via MaxScale by disabling autocommit for the duration of the XA transaction.

SET autocommit=0;
XA START 'MyXA';
INSERT INTO test.t1 VALUES(1);
XA END 'MyXA';
XA PREPARE 'MyXA';
XA COMMIT 'MyXA';
SET autocommit=1;

Prepared Statements

For its proper functioning, MaxScale needs in general to be aware of the transaction state and autocommit mode. In order to be that, MaxScale parses statements going through it.

However, if a transaction is commited or rolled back, or the autocommit mode is changed using a prepared statement, MaxScale will miss that and its internal state will be incorrect, until the transaction state or autocommit mode is changed using an explicit statement.

For instance, after the following sequence of commands, MaxScale will still think autocommit is on:

set autocommit=1
PREPARE hide_autocommit FROM "set autocommit=0"
EXECUTE hide_autocommit

To ensure that MaxScale functions properly, do not commit or rollback a transaction or change the autocommit mode using a prepared statement.

Protocol limitations

Limitations with MySQL/MariaDB Protocol support (MariaDBClient)

  • Compression is not included in the server handshake.

  • If a KILL [CONNECTION] <ID> statement is executed, MaxScale will intercept it. If the ID matches a MaxScale session ID, it will be closed, similarly to how MariaDB does it. If the KILL CONNECTION USER <user> form is given, all connections with a matching username will be closed.

  • MariaDB MaxScale does not support KILL QUERY ID <query_id> type statements. If a query by a query ID is to be killed, it needs to be done directly on the backend databases.

  • Any KILL commands executed using a prepared statement are ignored by MaxScale. If any are executed, it is highly likely that the wrong connection ends up being killed.

  • The change user command (COM_CHANGE_USER) only works with standard authentication.

  • If a COM_CHANGE_USER succeeds on MaxScale yet fails on the server the session ends up in an inconsistent state. This can happen if the password of the target user is changed and MaxScale uses old user account data when processing the change user. In such a situation, MaxScale and server will disagree on the current user. This can affect e.g. reconnections.

Authenticator limitations

Limitations in the GSSAPI authenticator

Currently, MariaDB MaxScale only supports GSSAPI authentication when the backend connections use GSSAPI authentication. Client side GSSAPI authentication with a different backend authentication module is not supported.

Limitations in the MySQL authenticator (MariaDBAuth)

  • MySQL old style passwords are not supported. MySQL versions 4.1 and newer use a new authentication protocol which does not support pre-4.1 style passwords.

  • When users have different passwords based on the host from which they connect MariaDB MaxScale is unable to determine which password it should use to connect to the backend database. This results in failed connections and unusable usernames in MariaDB MaxScale.

  • Only a subset of netmasks are supported for the Host-column in the mysql.user-table (and related tables). Specifically, if the Host is of the form base_ip/netmask, then the netmask must only contain the numbers 0 or 255. For example, a netmask of 255.255.255.0 is fine while 255.255.255.192 is not.

Filter limitations

Database Firewall limitations (dbfwfilter)

The Database Firewall filter does not support multi-statements. Using them will result in an error being sent to the client.

Tee filter limitations (tee)

The Tee filter does not support binary protocol prepared statements. The execution of a prepared statements through a service that uses the tee filter is not guaranteed to succeed on the service where the filter branches to as it does on the original service.

This possibility exists due to the fact that the binary protocol prepared statements are identified by a server-generated ID. The ID sent to the client from the main service is not guaranteed to be the same that is sent by the branch service.

Monitor limitations

A server can only be monitored by one monitor. Two or more monitors monitoring the same server is considered an error.

Limitations with Galera Cluster Monitoring (galeramon)

The default master selection is based only on MIN(wsrep_local_index). This can be influenced with the server priority mechanic described in the Galera Monitor manual.

Router limitations

Refer to individual router documentation for a list of their limitations.

MariaDB MaxScale 2.5.29 Release Notes

Release 2.5.29 is a GA release.

Released: 25 Oct 2023

This document describes the changes in release 2.5.29, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

External CVEs resolved.

  • CVE-2022-1586 Fixed by MXS-4806 Update pcre2 to 10.42

  • CVE-2022-1587 Fixed by MXS-4806 Update pcre2 to 10.42

  • CVE-2022-41409 Fixed by MXS-4806 Update pcre2 to 10.42

  • CVE-2017-7186 Fixed by MXS-4804 Update pcre2 to 10.36

  • CVE-2017-8399 Fixed by MXS-4804 Update pcre2 to 10.36

  • CVE-2017-8786 Fixed by MXS-4804 Update pcre2 to 10.36

  • CVE-2020-7105 Fixed by MXS-4757 Update libhiredis to 1.0.2.

  • CVE-2023-27371 Fixed by MXS-4751 Update libmicrohttpd to version 0.9.76

Bug fixes

  • MXS-4807 MaxScale does not always report the OS version correctly

  • MXS-4756 GUI caching issue

  • MXS-4749 log_throttling should be disabled if log_info is on

  • MXS-4747 log_throttling is hard to modify via MaxCtrl

  • MXS-4738 The fact that disable_master_failback does not work with root_node_as_master is not documented

  • MXS-4735 Connection IDs are missing from error messages

  • MXS-4724 slave_selection_criteria should accept lowercase version of the values

  • MXS-4717 information_schema is not invalidated as needed

  • MXS-4706 Cache does not invalidate when a table is ALTERed, DROPed or RENAMEd

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.28 Release Notes

Release 2.5.28 is a GA release.

Released: 21 Aug 2023

This document describes the changes in release 2.5.28, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4722 Case-sensitiveness of enumerations is not documented

  • MXS-4721 Galeramon does not update replication lag of replicating servers

  • MXS-4720 Implement an option to switch to the old "ping" behaviour in MaxScale

  • MXS-4719 Connection init sql file execution can hang

  • MXS-4714 qc_sqlite does not properly parse a RENAME statement

  • MXS-4701 GTID update may block the REST-API

  • MXS-4700 Binlogrouter treats GTID sequences as 32-bit integers

  • MXS-4696 Readwritesplit does not detect unrecoverable situations

  • MXS-4695 Binlogrouter always opens a new binlog on startup

  • MXS-4691 Binlogrouter cannot write binlog files larger than 4GiB

  • MXS-4690 Binlogrouter runs out of memory on very large transactions

  • MXS-4684 Detect ALTER EVENT failure on MariaDB 11.0

  • MXS-4681 Encrypted passwords are persisted in plaintext

  • MXS-4677 MaxScale BinlogRouter skips large transactions causing data Inconsistency on attached slave

  • MXS-4675 Switchover fails with 'Unknown thread id' error

  • MXS-4672 Document grants needed for MariaDB 11.1

  • MXS-4664 xpandmon diagnostics are not useful

  • MXS-4613 binlogrouter shows MaxScale's binary log coordinates in SHOW SLAVE STATUS

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.27 Release Notes

Release 2.5.27 is a GA release.

Released: 27 Jul 2023

This document describes the changes in release 2.5.27, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

New Features

  • MXS-4541 Provide a way to show details about all supported MaxScale modules via REST API and/or MaxCtrl

Bug fixes

  • MXS-4676 REST-API documentation is wrong about which server parameters can be modified

  • MXS-4670 The fact that readconnroute doesn't block writes with router_options=slave is not documented

  • MXS-4665 Listener creation error is misleading

  • MXS-4659 Cache filter hangs if statement consists of multiple packets.

  • MXS-4657 Add human readable message text to API errors like 404

  • MXS-4656 Setting session_track_trx_state=true leads to OOM kiled.

  • MXS-4642 Document that the Xpand service-user requires "show databases" privilege

  • MXS-4617 expire_log_duration not working

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.26 Release Notes

Release 2.5.26 is a GA release.

Released: 23 May 2023

This document describes the changes in release 2.5.26, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4615 Partially executed multi-result queries are not treated as partial results

  • MXS-4614 Query classifier does not recognize BEGIN NOT ATOMIC ... END

  • MXS-4611 Readwritesplit prefers idle primary over busy replicas

  • MXS-4586 transaction_replay_max_size default is 1GiB instead of 1MiB

  • MXS-4560 Not all passwords were obfuscated in the maxctrl report

  • MXS-4550 Regular expression documentation is inaccurate and lacking

  • MXS-4502 KB pages reference mysqlauth and mysqlauth is deprecated for mariadbauth

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.25 Release Notes

Release 2.5.25 is a GA release.

Released: 30 Mar 2023

This document describes the changes in release 2.5.25, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4566 RHEL8 Packages for 23.02.1 and 22.08.5

  • MXS-4557 Binlogrouter breaks if event size exceeds INT_MAX

  • MXS-4556 Maxscale ignores lower_case_table_names=1 on config file

  • MXS-4548 The statement canonicalizer cannot handle comments within statements

  • MXS-4524 Wrong server version assumption

  • MXS-4515 MaxScale leaks sessions if they are closed when writeq throttling is enabled

  • MXS-4514 skip_name_resolve is not modifiable at runtime

  • MXS-4510 Uncaught exception in binlogrouter

  • MXS-4504 IP wildcard values are not permitted in host values while using data masking

  • MXS-4494 Replication breaks if binlogfilter excludes events

  • MXS-4489 PHP program reports different collation_connection when connecting via Maxscale

  • MXS-4476 Memory leak in smartrouter

  • MXS-4474 MaxScale hangs with warning about "Worker 1 attempted to send a message to worker 1"

  • MXS-4473 Hang in smartrouter under heavy load

  • MXS-4469 Schemarouter routing logic documentation is out of date

  • MXS-4459 Improve match/exclude documentation for avrorouter and kafkacdc

  • MXS-4197 pinloki_start_stop is unstable

  • MXS-3972 The rpl_state in binlogrouter is not atomic

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.24 Release Notes

Release 2.5.24 is a GA release.

Released: 4 Jan 2023

This document describes the changes in release 2.5.24, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4450 6.4 no longer provides full certificate chain in TLS HELLO

  • MXS-4440 Lost connection to backend server: network error (server1: 104, Connection reset by peer)

  • MXS-4439 Maxscale is failing with Resource temporarily unavailable errors

  • MXS-4423 Rebalancing is not always initiated from the affected worker/thread

  • MXS-4404 Maxscale: KafkaCDC writes to current_gtid.txt causes high disk utilisation.

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.23 Release Notes

Release 2.5.23 is a GA release.

Released: 28 Nov 2022

This document describes the changes in release 2.5.23, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4348 Full SASL support is not enabled for kafka modules

  • MXS-4317 Smartrouter interrupts the wrong query

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.22 Release Notes

Release 2.5.22 is a GA release.

Released: 11 Oct 2022

This document describes the changes in release 2.5.22, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-4332 REST API reports unknown parameters with warnings and not errors

  • MXS-4331 Altering servers fails if SSL is enabled

  • MXS-4321 Error from missing --secure option is not helpful

  • MXS-4313 MaxCtrl misinterprets some arguments

  • MXS-4312 REST API accepts empty resource IDs

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

  • MXS-4283 Race condition in KILL command processing

  • MXS-4279 "sub" field not set for JWTs

  • MXS-4269 UPDATE with user variable modification is treated as a session command

  • MXS-4240 MXS-4239 readconnroute module routing read queries to inconsistent slave node

  • MXS-4239 Maxscale shows replication status as [Slave, Running] even when replication credentials are wrong

  • MXS-4227 MaxCtrl incompatibility with MemoryDenyWriteExecute=true is not documented

  • MXS-4224 connection_timeout not documented to only take effect on the top level service

  • MXS-4209 KILL command doesn't work correctly if persistent connections are enabled

  • MXS-4198 MaxScale fails to validate its own certificate when the chain of trust is unknown to OpenSSL

  • MXS-4196 Readconnroute load balancing behavior is not well documented

  • MXS-4156 Update documentation on required monitor privileges

  • MXS-4148 Log warning if reverse name resolution takes significant time

  • MXS-4094 Allow empty token when client is replying to AuthSwitchRequest

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.21 Release Notes

Release 2.5.21 is a GA release.

Released: 8 Jul 2022

This document describes the changes in release 2.5.21, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

New Features

  • MXS-2904 Document MaxScale performance tuning

Bug fixes

  • MXS-4194 Reported size for query classifier cache keeps growing

  • MXS-4181 MaxScale w/SSL doesn't work on FIPS RHEL7

  • MXS-4166 Filter diagnostics are not shown in maxctrl show filters

  • MXS-4165 Servers with priority=0 are selected as Master

  • MXS-4164 Debug assertion when cat session ends

  • MXS-4160 Maxscale galeramon + max_slave_replication_lag = Could not find valid server for target type TARGET_SLAVE

  • MXS-4152 Schemarouter performance degrades as the number of tables increases

  • MXS-4151 Schemarouter duplicate checks are excessively slow

  • MXS-4146 Xpand MaxScale Tutorial in KB doesn't work

  • MXS-4141 connection_keepalive=0 causes a memory leak

  • MXS-4139 connection_keepalive sends pings even if client is idle

  • MXS-4138 Race condition in binlogrouter

  • MXS-4134 /etc/maxscale.cnf.d/ is not created by package installation

  • MXS-4132 router_options=master ignores rank for first server

  • MXS-4127 MaxCtrl: list services does not include other targets

  • MXS-4121 MaxCtrl is limited to 2GB of memory

  • MXS-4120 Avrorouter crash with a SEQUENCE engine table

  • MXS-4115 Maxscale prints user/pass with CHANGE MASTER command in logfile while failover.

  • MXS-4110 Schemarouter does not ignore the sys schema

  • MXS-4100 connection_keepalive=0 causes a memory leak

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.20 Release Notes

Release 2.5.20 is a GA release.

Released: 10 May 2022

This document describes the changes in release 2.5.20, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

New Features

  • MXS-3997 Name threads for better CPU usage view

  • MXS-3665 Provide more feedback on TLS cipher mismatch

Bug fixes

  • MXS-4110 Schemarouter does not ignore the sys schema

  • MXS-4109 The /user/inet endpoint fails schema validation

  • MXS-4103 Binlogrouter doesn't decrypt passwords

  • MXS-4096 Binlog Routers SHOW SLAVE STATUS does not show SSL information

  • MXS-4093 User account manager does not detect db-level priv changes

  • MXS-4092 schemarouter: duplicate tables found, if table differs on upper lower case only

  • MXS-4086 REST API allows deletion of last user

  • MXS-4074 Status of boostrap servers not always the same as the status of corresponding runtime servers

  • MXS-4053 The cache does not handle multi-statements properly.

  • MXS-4045 Add maxctrl command for dumping the whole REST API output

  • MXS-4040 Mariadbmon constantly logs errors if event scheduler is disabled

  • MXS-4039 Debug assert with connection_keepalive and slow server

  • MXS-4038 maxctrl reload service does not bypass the users refresh rate limit

  • MXS-4034 Persistent connection pool is not automatically flushed

  • MXS-4024 CDC protocol logs a notice message for each new connection

  • MXS-4023 Schema auto-generation is not documented

  • MXS-4022 Avrorouter doesn't log an error for failed SHOW CREATE TABLE

  • MXS-4008 Query classifier cache does not properly record all used memory

  • MXS-4004 Race condition in KILL command execution

  • MXS-4003 GSSAPI authenticator documentation is out of date

  • MXS-4002 KILL commands leave no trace in the log

  • MXS-4001 The Cache filter cannot cope with the Redis server closing the connection

  • MXS-4000 Binlogrouter creates malformed replication events

  • MXS-3954 Got below signal 11 error after upgrading maxscale version maxscale 6.2.1

  • MXS-3945 Sync marker mismatch while reading Avro file

  • MXS-3931 Check certificates with extendedKeyUsage options set for correct purpose flags

  • MXS-3808 Improve Rest API performance

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.19 Release Notes

Release 2.5.19 is a GA release.

Released: 11 Feb 2022

This document describes the changes in release 2.5.19, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3989 Rebalancing may cause MaxScale to crash

  • MXS-3978 Binlog router appends -BinlogRouter to master version string again and again ...

  • MXS-3973 Session capabilities are not frozen on session startup

  • MXS-3966 MariaDBMonitor does not log connection error on startup

  • MXS-3959 Transaction replay doesn't reset transaction on implicit commit

  • MXS-3958 MaxScale stalls and crashes occasionally

  • MXS-3949 "transaction" is always parsed as a reserved word

  • MXS-3947 Read-only transaction behavior is not documented

  • MXS-3932 Xpand monitor doesn't show full configuration in diagnostic output

  • MXS-3886 Hang in RoutingWorker::execute_concurrently semaphore.hh:146

  • MXS-3865 Shutdown bug

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.18 Release Notes

Release 2.5.18 is a GA release.

Released: 12 Jan 2022

This document describes the changes in release 2.5.18, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3938 Debug assert in xpandmon

  • MXS-3934 Linking a service at runtime to an xpandmon doesn't work

  • MXS-3933 Avro reader client can fail

  • MXS-3928 MaxScale logs a warning when users are loaded from a Xpand cluster

  • MXS-3920 Can't connect to MaxScale when schema uses utf8mb4 chars >= U0080

  • MXS-3897 MaxScale crashes when executing CDC process to kafka

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.17 Release Notes

Release 2.5.17 is a GA release.

Released: 13 Dec 2021

This document describes the changes in release 2.5.17, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3885 MaxScale unconditionally loads global options from /etc/maxscale.cnf.d/maxscale.cnf

  • MXS-3872 test_kafkacdc fails in 2.5

  • MXS-3871 Kerberos tests are skipped in 2.5

  • MXS-3870 The pam_authentication_2fa test fails very often

  • MXS-3858 core dumps from system-tests (meta bug)

  • MXS-3857 Pinloki initial gtid scan incorrectly reads entire files

  • MXS-3856 Errors with causal_reads and read-only transactions

  • MXS-3845 Sending binlog events is inefficient

  • MXS-3832 Document privileges required for procs_priv system table

  • MXS-3826 Allow maintenance mode to be set on Galera cluster master

  • MXS-3824 Allow symbolic link for path to directory /usr/share/maxscale/gui

  • MXS-3817 The location of the GUI web directory isn't documented

  • MXS-3816 Queries are not always counted as reads with router_options=slave

  • MXS-3815 maxscale crash

  • MXS-3814 maxscale rpl_state is empty

  • MXS-3810 SQL_MODE parsing sometimes fails

  • MXS-3809 When MariaDBMonitor acquires lock majority, the log message gives the impression that auto_failover is enabled even when it is not configured

  • MXS-3801 Unexpected internal state with read-only cursor and result with one row

  • MXS-3800 Not enough information in server state change messages

  • MXS-3782 session_track_trx_state set to true causes incorrect routing of SELECT

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.16 Release Notes

Release 2.5.16 is a GA release.

Released: 12 Oct 2021

This document describes the changes in release 2.5.16, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3805 Binlogrouter error messages aren't specific enough

  • MXS-3804 Result size accounting is wrong

  • MXS-3799 Destroyed monitors are not deleted

  • MXS-3798 Race condition in service destruction

  • MXS-3790 Fix luafilter

  • MXS-3788 Debug assertion with default config and transaction_replay=true

  • MXS-3779 binlogrouter logs warnings for ignored SQL

  • MXS-3766 Not able to insert data on Masking enabled table

  • MXS-3759 Client hangs forever when server failed or restarted

  • MXS-3756 KILL behavior is not well documented

  • MXS-3748 Crash when unified log cannot be created

  • MXS-3747 Empty strings aren't serialized as quoted strings

  • MXS-3746 type=listener is added twice in listener serialization

  • MXS-3738 maxctrl show dbusers does nothing

  • MXS-3734 show binlog error msg is incorrect

  • MXS-3728 Binlogrouter crashes when GTID is not found

  • MXS-3718 MaxScale killed by watchdog timeout

  • MXS-3657 CCR Filter ignores PCRE2 option ignorecase

  • MXS-3580 Avrorouter should store full GTID coordinates

  • MXS-3331 Could not bind connecting socket to local address

  • MXS-3298 DNS server failure crashes Maxscale

  • MXS-3254 Monitor failover fails

  • MXS-3063 error : Sync marker mismatch.

  • MXS-3060 Failed to load current GTID

  • MXS-3050 Setting Up MaxScale documentation should include instructions on how to configure the MaxScale grants in ClustrixDB

  • MXS-3049 error : [avrorouter] Reading Avro file failed with error 'MAXAVRO_ERR_VALUE_OVERFLOW'.

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.15 Release Notes

Release 2.5.15 is a GA release.

Released: 18 Aug 2021

This document describes the changes in release 2.5.15, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3719 Readwritesplit logs wrong warning when replication lag is not available

  • MXS-3704 MaxScale always advertises the SESSION_TRACK capability even with servers that don't support it (XPand)

  • MXS-3703 Requirement to use cluster with xpandmon is not documented

  • MXS-3698 "maxctrl classify" fails with an exception

  • MXS-3695 Causal Consistency with MaxScale's Read/Write Split Router issue

  • MXS-3694 MXS - crash when cache is used with invalidate and hard_ttl

  • MXS-3692 Improve host pattern error message

  • MXS-3679 Mismatching user or source prevents session creation

  • MXS-3674 Deadlock in binlogrouter

  • MXS-3673 Draining servers is not documented

  • MXS-3550 write statistic is incremented for slaves

  • MXS-3532 Do not allow Galera master to be set to Drain

  • MXS-3508 causal_reads=global results in missing data reads

  • MXS-3478 admin_host missed on the static configuration parameters list

  • MXS-3474 Strange persistent pool connection stats

  • MXS-3299 Parse error when connecting (through binlog router) from mysql-connector-j

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.14 Release Notes

Release 2.5.14 is a GA release.

Released: 21 Jul 2021

This document describes the changes in release 2.5.14, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3650 Maxscale crashes while logging to GUI

  • MXS-3623 Race condition in persistent connections

  • MXS-3622 Backend connection isn't closed right after authentication failure

  • MXS-3617 writeq throttling can lose response packets

  • MXS-3615 Clarify session_track_system_variables requirement for readwritesplit's causal_reads parameter

  • MXS-3595 Listener subresource returns wrong response on service-listener mismatch

  • MXS-3590 MaxCtrl documentation for the reload command is broken

  • MXS-3588 BULK pipelining error

  • MXS-3578 Unexpected result state when using connection_keepalive

  • MXS-3574 Output examples in the REST API documentation are out of date

  • MXS-2890 5.5.5 prefix is always added even with version_string=8.0.16

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.13 Release Notes

Release 2.5.13 is a GA release.

Released: 4 Jun 2021

This document describes the changes in release 2.5.13, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3589 qc_sqlite handles current_timestamp etc. explicitly

  • MXS-3586 Maxscale tries to execute write statement on slave

  • MXS-3585 query classifier crashes after upgrade from 2.5.11 to 2.5.12

  • MXS-3582 [readwritesplit] Failed to execute session command

  • MXS-3581 Replicator component doesn't check node state for every operation

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.12 Release Notes

NOTE After 2.5.12 was released, a serious regression was noticed. Do not use MaxScale 2.5.12, but install or upgrade to MaxScale 2.5.13 that contains a fix for the regression.

Release 2.5.12 is a GA release.

Released: 26 May 2021

This document describes the changes in release 2.5.12, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3566 EXPLAIN leaks memory

  • MXS-3565 COM_STMT_EXECUTE target selection is too restrictive when no metadata is provided

  • MXS-3548 Plugin name comparison is case-sensitive

  • MXS-3538 Removal of authenticator_options is not documented in upgrade documents

  • MXS-3536 max_slave_connections=0 doesn't work as expected

  • MXS-3535 user variable is not collected if it's in join clause

  • MXS-3533 MaxScale doesn't advertise the SESSION_TRACK capability

  • MXS-3529 Maxscale is not compatible with the latest cmake 3.20

  • MXS-3528 Maxscale source repo contains old boost-1.73.0.tar.gz which is not buildable with latest cmake on ARM

  • MXS-3524 alter syslog is not supported during runtime

  • MXS-3479 Disabling maxlog doesn't fully prevent it from being written to

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.11 Release Notes

Release 2.5.11 is a GA release.

Released: 4 May 2021

This document describes the changes in release 2.5.11, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3509 Syslog output is not filtered according to current log configuration

  • MXS-3505 option lazy_connect not fully effective

  • MXS-3504 Kafkacdc doesn't reconnect on replication error

  • MXS-3487 Old master connection is left open after transaction migration

  • MXS-3483 MaxCtrl doesn't strip colors from non-tty output

  • MXS-3472 Transaction Replay: transactions not replayed after Xpand group change

  • MXS-3471 After "clock has been changed to REALTIME" in syslog maxscale crashes

  • MXS-3468 Read statistics are wrong with master_accept_reads and read-only transactions

  • MXS-3462 Updates to services don't propagate upwards to other services that use them

  • MXS-3459 Malformed packet SQL=LOAD DATA LOCAL INFILE... ERROR 2027

  • MXS-3454 Prepared statement inside trx not tracked with transaction_replay

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.10 Release Notes

Release 2.5.10 is a GA release.

Released: 25 Mar 2021

This document describes the changes in release 2.5.10, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3450 COM_FIELD_LIST is classified as a write

  • MXS-3449 Maxscale sets MASTER_GTID_WAIT timeout to zero, when causal_reads_timeout is less than 1s

  • MXS-3448 Unable to disable maxlog

  • MXS-3445 SET DEFAULT ROLE is not classified as a write

  • MXS-3436 Packet received out-of-order. Expected 1; got 3

  • MXS-3433 Monitor does not set session autocommit if it connects to a server first

  • MXS-3427 The 'INFORMATION_SCHEMA.SESSION_STATUS' feature is disabled; see the documentation for 'show_compatibility_56'

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.9 Release Notes

Release 2.5.9 is a GA release.

Released: 10 Mar 2021

This document describes the changes in release 2.5.9, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3428 Regression in max_slave_replication_lag

  • MXS-3426 MaxScale with SSL in Azure Cloud not working properly

  • MXS-3419 Token authentication doesn't perform authorization

  • MXS-3416 causal_reads=global returns an unexpected OK packet

  • MXS-3409 Need more GRANTs to be documented for connecting to xpand direct using xpandmon

  • MXS-3404 maxscale write in the slave with function

  • MXS-3392 Reset implementation on failing prepared statement

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.8 Release Notes

Release 2.5.8 is a GA release.

Released: 18 Feb 2021

This document describes the changes in release 2.5.8, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3408 ASAN reports leaks in the query classifier

  • MXS-3404 maxscale write in the slave with function

  • MXS-3403 The Cache Filter cannot deal with batched requests

  • MXS-3400 maxscale crash with memcache on ubuntu 20

  • MXS-3399 QC heap-buffer-overflow

  • MXS-3396 Default /etc/maxscale.cnf for MaxScale 2.5 comments direct user to MaxScale 2.4 documents

  • MXS-3395 Problems with prepared statements with more than 2^16 columns

  • MXS-3380 MaxScale crash loop with cache filter + Redis

  • MXS-3366 COM_CHANGE_USER rejected by MaxScale

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.7 Release Notes

Release 2.5.7 is a GA release.

Released: 27 Jan 2021

This document describes the changes in release 2.5.7, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

New Features

  • MXS-3193 Allow the binlog router to replicate from Galera cluster with failover.

Bug fixes

  • MXS-3383 Debug assertion with delayed_retry and master failure

  • MXS-3374 MaxScale fails to update IP for a existing node that reappears with a IP change

  • MXS-3370 Asynchronicity of tee filter isn't documented

  • MXS-3365 Missing match setting in filter(s) results in no match at all

  • MXS-3360 MaxCtrl option --authenticator-options doesn't work

  • MXS-3354 Duplicate space interpreted as a command

  • MXS-3353 Tee filter loses statements if branch target is slower

  • MXS-3348 KafkaCDC :Failed to read replicated event

  • MXS-3347 Hint syntax documentation isn't exact

  • MXS-3346 When using --basedir, mysql/plugin dir needs to be writable

  • MXS-3342 Persistent connections cause signal 11 when no matching connection is found

  • MXS-3339 Hang with prepared statement and slow servers

  • MXS-3337 galeramon queries only status, not variables

  • MXS-3323 Database grants with wildcards should be matched using LIKE operator

  • MXS-3318 Parsing error with comment

  • MXS-3309 The administration tutorial is lacking

  • MXS-3303 A user with just EXECUTE on PROCEDURE privileges to the database, failing to connect via maxscale with database name mentioned.

  • MXS-3238 REST API SSL Configuration Vulnerabilities

  • MXS-3158 Failover/switchover modifies event character set and collation

  • MXS-2627 Document how to customize MaxScale's systemd unit file

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.6 Release Notes

Release 2.5.6 is a GA release.

Released: 15 Dec 2020

This document describes the changes in release 2.5.6, when compared to the previous release in the same series.

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

NOTE After the release of 2.5.6 it was noticed that configuring the same server for both the persistent pool (configuration settings persistpoolmax and persistmaxtime) and the proxy protocol (configuration setting proxy_protocol) may in some situations lead to a crash. Using either one is ok. We will release 2.5.7 with a fix for this as soon as possible (January 2021).

New Features

  • MXS-3129 Add Switchover to WebGUI

Bug fixes

  • MXS-3338 Last statement in read-only transaction doesn't trigger transaction replay

  • MXS-3335 MaxScale 2.5.6 and Xpand Direct connection issue with xpandmon

  • MXS-3334 Master failure triggers replay of read-only transaction

  • MXS-3333 Malformed error messages

  • MXS-3328 Persistent Connections on Maxscale 2.5 seem to break client authentication

  • MXS-3327 Memcachd/Redis cache storage must be disabled if memcached/redis not reachable

  • MXS-3326 Host class does not accept all valid domain names.

  • MXS-3325 Redis cache storage does not accept dashes in server names.

  • MXS-3316 Redis cache storage must be disabled if Redis not connectible

  • MXS-3313 MaxScale cache must use timeout when connecting to redis/memcached

  • MXS-3312 MaxScale not allowing login and sometimes crashes when cache server not available

  • MXS-3311 routed_packets not updated by readconnroute

  • MXS-3307 Multiple binlogrouters in the same MaxScale

  • MXS-3301 MaxScale does not recognize xpand properly

  • MXS-3295 Layout of classify REST API endpoint stores non-parameter data in parameters object

  • MXS-3293 Backticks not stripped in USE statements.

  • MXS-3292 Unable to execute use database

  • MXS-3283 Scramble should be composed of characters

  • MXS-3282 Select query inside transactions are routed to slave with session_track_trx_state=true

  • MXS-3272 maxctrl not prompt directy for the password

  • MXS-3271 dump_last_statements=on_close doesn't log session ID

  • MXS-3270 MaxScale 2.5.5 crashes with signal 11

  • MXS-3264 The event mechanism is not configured.

  • MXS-3256 Match pinloki initial setup to that of MariaDB server

  • MXS-3251 Hang on shutdown when executing KILL query

  • MXS-3248 "error : (1672) Unexpected result state" with connection_keepalive

  • MXS-3199 KafkaCDC read stream data too slow

  • MXS-3172 Database grants with escape characters do not work (strip_db_esc)

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.5 Release Notes

Release 2.5.5 is a GA release.

Released: 21 Oct 2020

This document describes the changes in release 2.5.5, when compared to the previous release in the same series.

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

New signature key for the packages

Now packages are signed by MariaDB Enterprise key. Public key is here MariaDB-Enterprise-GPG-KEY

Bug fixes

  • MXS-3244 Default the binlogrouter master port to 3306 (CHANGE MASTER TO)

  • MXS-3242 Hang on repeated master disconnection

  • MXS-3235 Insertstream streams autocommit inserts

  • MXS-3229 Hang with COM_SET_OPTION

  • MXS-3223 Monitor re-uses mysql-handle when using extra-port

  • MXS-3218 Crash with LOAD DATA LOCAL INFILE

  • MXS-3212 Server SSL configuration cannot be defined at runtime

  • MXS-3200 Abort due to double free or corruption after "Write to Client DCB ... state DCB_STATE_POLLING failed"

  • MXS-3198 MariadbMon documentation needs to take 10.5 privilege changes into account

  • MXS-3157 Write MaxGUI system test

  • MXS-3142 Misleading error when SSL not used when it is required

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.4 Release Notes

Release 2.5.4 is a GA release.

Released: 29 Sep 2020

This document describes the changes in release 2.5.4, when compared to the previous release in the same series.

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

New Features

  • MXS-2719 Allow queuing of switchover/failover

  • MXS-2692 Monitor of binlog router

Bug fixes

  • MXS-3202 Additional grants not mentioned in upgrading document

  • MXS-3196 Errors can be returned in wrong order

  • MXS-3194 Reply with an error if a replica tries to connect with log_file/log_pos

  • MXS-3191 New binlog router should clearly says that it does not file/pos based options in CHANGE MASTER

  • MXS-3181 Binlog Router should understand all monitor queries

  • MXS-3177 Fix download link in documentation

  • MXS-3176 MaxGUI logs admin user out after dbfwfilter is added to MaxScale config file

  • MXS-3175 Make pinloki deployment simple and observeable

  • MXS-3171 PHP 7.2 + PDO - invalid HandShakeResponse

  • MXS-3167 Access Denied for User Error when Upgrading to 2.5.x and Using Binlogrouter

  • MXS-3165 cache_inside_transactions vs cache_in_transactions

  • MXS-3164 Handle AuthSwitchRequest-packet properly in standard auth plugin

  • MXS-3163 Wrong type for server and global modules

  • MXS-3160 PLUGIN_AUTH_LENENC_CLIENT_DATA capability not set

  • MXS-3150 MaxGUI should redirect to 404 page if id of details route doesn't exist

  • MXS-3149 Monitor should remove [Master] when starting swithover

  • MXS-3148 Binlogrouter doesn't accept trailing semicolons

  • MXS-3147 Pinloki should not create logically empty binlog files.

  • MXS-3143 FOUND_ROWS() not routed to previous target

  • MXS-3140 Deleting a resource causes navigating to login page.

  • MXS-3130 Documentation for the source parameter is inaccurate

  • MXS-3110 bad handshake error in maxscale 2.5.1

  • MXS-2680 Monitor type not shown in show monitors

  • MXS-1998 Shard map refresh is not logged on any level

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.3 Release Notes

MariaDB MaxScale 2.5.2 Release Notes

Release 2.5.2 is a GA release.

Released: 14 Aug 2020

This document describes the changes in release 2.5.2, when compared to the previous release in the same series.

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

New Features

  • MXS-3099 Add AddNode/RemoveNode to the Columnstore Monitor

  • MXS-2383 Support PAM authentications involving more than simple password exchanges

Bug fixes

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.1 Release Notes

Release 2.5.1 is a GA release.

Released: 16 Jul 2020

This document describes the changes in release 2.5.1, when compared to the previous release in the same series.

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

New Features

  • MXS-3015 Sort attribute lists returned by maxctrl alphabetically

  • MaxGUI can now be accessed in a testing mode without configuring SSL. For more information, please refer to the MaxGUI document.

Bug fixes

  • MXS-3072 Failed to query server 'server1' for user account info. Wrong number of resultsets to multiquery

  • MXS-3052 kafkaCDC how to set GTID

  • MXS-3041 QC bug with keyword handler

  • MXS-2996 Query Type of 'SELECT ... LOCK IN SHARE MODE;'

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.5.0 Release Notes

Release 2.5.0 is a Beta release.

Released: 18 Jun 2020

This document describes the changes in release 2.5.0, when compared to release 2.4.

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

Changed Features

  • Network throttling (writeq_high_water and writeq_low_water) is now on by default. This will prevent MaxScale from running out of memory when large database dumps are restored through it. This change will not affect performance in any significant way.

  • Servers with duplicate network details (address and port) are treated as a configuration error. There should exist only one server object in MaxScale for each actual database.

  • Server parameters are now checked and unknown parameters are treated as a configuration error. This can cause old configurations with unknown parameters to fail.

  • Servers without a monitor now start in the Down state instead of the Running state. This means that servers without a monitor need to have their state set manually.

connection_keepalive

Previously this feature was a readwritesplit feature. In MaxScale 2.5.0 it has been converted into a core MaxScale feature and it can be used with all routers. In addition to this, the keepalive mechanism now also keeps completely idle connections alive (MXS-2505).

User loading timeouts

The default timeout values for user loading have been changed.

  • auth_connect_timeout changed from 3 to 10 second

  • auth_read_timeout deprecated and ignored

  • auth_write_timeout deprecated and ignored

Setting a server to maintenance or draining mode

In the case of a regular MariaDB cluster (monitored by the MariaDB monitor), it is no longer possible to set the master server to maintenance or draining mode, but a switchover must be performed first.

MariaDB-Monitor deprecated settings

The settings detect_stale_master, detect_standalone_master and detect_stale_slave are replaced by the more flexible master_conditions and slave_conditions. The old settings may still be used, but will be removed in a later version.

Password encryption

The encrypted passwords feature has been updated to be more secure. Users are recommended to generate a new encryption key and re-encrypt their passwords using the maxkeys and maxpasswd utilities. Old passwords still work.

Authenticator options

Several changes, see here for more details.

REST API

  • Listeners are now a separate resource from services. The old listeners entry point is deprecated and its use is discouraged.

Dropped Features

MaxAdmin has been removed.

Use maxctrl or maxgui instead.

No concept of Unix users anymore

As maxadmin, that could be used over a unix domain socket, has been removed it is no longer possible to enable/disable unix users as MaxScale administrators.

Configuration parameters

The following deprecated parameters have been removed.

  • non_blocking_polls

  • poll_sleep

  • log_trace and log_messages that were synonyms for log_info and log_notice respectively.

Removed modules

  • The maxinfo-router and the httpd-protocol have been removed.

Deprecated Features

  • Server parameters protocol and authenticator have been deprecated. Any definitions are ignored.

Readwritesplit

  • The use of percentage values in max_slave_connections has been deprecated.

New Features

  • The timeout to maxctrl can now be specified using duration suffixes, e.g. --timeout 5s.

  • The new targets parameter for services can be used to list both servers and other services as routing targets. This allows complex setups to be used where one service routes the query to another service.

  • MariaDB connection attributes are now forwarded to the backend servers.

MaxGUI

MaxGUI is a new browser based configuration and management tool for MaxScale that complements the command line tool maxctrl.

Please see the documentation for more information.

Cache

Invalidation

The MaxScale cache is now capable of performing invalidation of cache entries. See the documentation for more information.

New Cache Storage Modules

The following storage modules have been added: storage_memcached storage_redis

When either of these are used, the cache can be shared between two MaxScale instances.

User specific cache

It is now possible to specify that each user should have a cache of his/her own. Having a user-specific cache ensures that it is impossible for a user to obtain access to data he/she should not have access to, something which may be possible if a shared cache is used, as the cache filter is not aware of grants. Please see the documentation for details.

Load Rebalancing

If the load of the threads of MaxScale differs by a certain amount, MaxScale is now capable of moving sessions from one thread to another so that all threads are evenly utilized. Please refer to rebalance_period and rebalance_threshold for more information.

Columnstore support

The Columnstore monitor is now capable of monitoring Columnstore versions 1.0, 1.2 and 1.5. In addition, some cluster management operations are available for Columnstore 1.5. Please see the documentation for details.

Cooperative monitoring

MariaDB-Monitor supports cooperative monitoring. See cooperative monitoring for more information.

Listener and authenticator settings

  • multiple authenticators per listener

  • connection_init_sql_file

  • mysql_clear_password support for PAM authenticator

See configuration guide and pam plugin documentation for more details.

TLS

  • Added support for peer hostname verification in connections that use TLS.

  • Added support for certificate revocation lists

Readwritesplit

  • The causal reads feature has been extended with a global mode, which uses latest known GTID and waits for slave to replicate, and a fast mode, which routes queries to the master if no up-to-date slave is found.

Schemarouter

  • The router now supports setups where multiple servers contain the same database or table. This allows a more resilient setup where a failure of one shard doesn't cause a complete outage.

  • The credentials the clients use to connect to the schemarouter no longer need to exist on all of the databases used by the service. This reduces the amount of access required by the clients that use the schemarouter.

Mirror Router

  • The mirror router is a new router designed for data consistency and database behavior verification during system upgrades. It can export the measured data as JSON into either a file or into a Kafka broker.

KafkaCDC

  • New module that replicates data changes in a MariaDB master into a Kafka broker formatted as JSON objects. Refer to the KafkaCDC documentation for more details.

REST API

  • Token authentication via JWT.

  • Sparse fieldsets allow reduced network overhead for requests.

  • Result filtering allows retrieval of a subset of a resource collection.

  • REST API resources now use the SHA1 of the returned result as the object ETag. This fixes the problem where the ETag was not updated even when the result changed due to internal MaxScale processes.

  • Module parameter types are now described for the server and core MaxScale objects.

  • Listeners are now a separate resource from services. The old listeners entry point is deprecated and its use is discouraged.

Bug fixes

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.

Packaging

RPM and Debian packages are provided for the Linux distributions supported by MariaDB Enterprise.

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 X.Y.Z. Further, master always refers to the latest released non-beta version.

The source code is available here.

MariaDB MaxScale 2.4 Release Notes

MaxScale 2.4 Limitations and Known Issues

This document lists known issues and limitations in MariaDB MaxScale and its plugins. Since limitations are related to specific plugins, this document is divided into several sections.

  • Limitations and Known Issues within MariaDB MaxScale

    • Configuration limitations

      • Multiple MaxScales on same server

    • Security limitiations

      • MariaDB 10.2

    • Query Classification

    • Prepared Statements

    • Protocol limitations

      • Limitations with MySQL/MariaDB Protocol support (MariaDBClient)

    • Authenticator limitations

      • Limitations in the GSSAPI authenticator

      • Limitations in the MySQL authenticator (MySQLAuth)

    • Filter limitations

      • Database Firewall limitations (dbfwfilter)

      • Tee filter limitations (tee)

    • Monitor limitations

      • Limitations with Galera Cluster Monitoring (galeramon)

    • Router limitations

Configuration limitations

In versions 2.1.2 and earlier, the configuration files are limited to 1024 characters per line. This limitation was increased to 16384 characters in MaxScale 2.1.3. MaxScale 2.3.0 increased this limit to 16777216 characters.

In versions 2.2.12 and earlier, the section names in the configuration files were limited to 49 characters. This limitation was increased to 1023 characters in MaxScale 2.2.13.

Multiple MaxScales on same server

Starting with MaxScale 2.4.0, on systems with Linux kernels 3.9 or newer due to the addition of SO_REUSEPORT support, it is possible for multiple MaxScale instances to listen on the same network port if the directories used by both instances are completely separate and there are no conflicts which can cause unexpected splitting of connections. This will only happen if users explicitly tell MaxScale to ignore the default directories and will not happen in normal use.

Security limitiations

MariaDB 10.2

The parser of MaxScale correctly parses WITH statements, but fails to collect columns, functions and tables used in the SELECT defining the WITH clause.

Consequently, the database firewall will not block WITH statements where the SELECT of the WITH clause refers to forbidden columns.

Query Classification

Follow the MXS-1350 Jira issue to track the progress on this limitation.

XA transactions are not detected as transactions by MaxScale. This means that all XA commands will be treated as unknown commands and will be treated as operations that potentially modify the database (in the case of readwritesplit, the statements are routed to the master).

MaxScale will not track the XA transaction state which means that any SELECT queries done inside an XA transaction can be routed to servers that are not part of the XA transaction.

This limitation can be avoided on the client side by disabling autocommit before any XA transactions are done. The following example shows how a simple XA transaction is done via MaxScale by disabling autocommit for the duration of the XA transaction.

SET autocommit=0;
XA START 'MyXA';
INSERT INTO test.t1 VALUES(1);
XA END 'MyXA';
XA PREPARE 'MyXA';
XA COMMIT 'MyXA';
SET autocommit=1;

Prepared Statements

For its proper functioning, MaxScale needs in general to be aware of the transaction state and autocommit mode. In order to be that, MaxScale parses statements going through it.

However, if a transaction is commited or rolled back, or the autocommit mode is changed using a prepared statement, MaxScale will miss that and its internal state will be incorrect, until the transaction state or autocommit mode is changed using an explicit statement.

For instance, after the following sequence of commands, MaxScale will still think autocommit is on:

set autocommit=1
PREPARE hide_autocommit FROM "set autocommit=0"
EXECUTE hide_autocommit

To ensure that MaxScale functions properly, do not commit or rollback a transaction or change the autocommit mode using a prepared statement.

Protocol limitations

Limitations with MySQL/MariaDB Protocol support (MariaDBClient)

  • Compression is not included in the server handshake.

  • MariaDB MaxScale does not support KILL QUERY ID <query_id> type statements. If a query by a query ID is to be killed, it needs to be done directly on the backend databases.

  • The KILL commands are executed asynchronously and the results are ignored. Due to this, they will always appear to succeed even if the user is lacking the permissions.

Authenticator limitations

Limitations in the GSSAPI authenticator

Currently, MariaDB MaxScale only supports GSSAPI authentication when the backend connections use GSSAPI authentication. Client side GSSAPI authentication with a different backend authentication module is not supported.

Limitations in the MySQL authenticator (MySQLAuth)

  • MySQL old style passwords are not supported. MySQL versions 4.1 and newer use a new authentication protocol which does not support pre-4.1 style passwords.

  • When users have different passwords based on the host from which they connect MariaDB MaxScale is unable to determine which password it should use to connect to the backend database. This results in failed connections and unusable usernames in MariaDB MaxScale.

  • Only a subset of netmasks are supported for the Host-column in the mysql.user-table (and related tables). Specifically, if the Host is of the form base_ip/netmask, then the netmask must only contain the numbers 0 or 255. For example, a netmask of 255.255.255.0 is fine while 255.255.255.192 is not.

Filter limitations

Database Firewall limitations (dbfwfilter)

The Database Firewall filter does not support multi-statements. Using them will result in an error being sent to the client.

Tee filter limitations (tee)

The Tee filter does not support binary protocol prepared statements. The execution of a prepared statements through a service that uses the tee filter is not guaranteed to succeed on the service where the filter branches to as it does on the original service.

This possibility exists due to the fact that the binary protocol prepared statements are identified by a server-generated ID. The ID sent to the client from the main service is not guaranteed to be the same that is sent by the branch service.

Monitor limitations

A server can only be monitored by one monitor. Two or more monitors monitoring the same server is considered an error.

Limitations with Galera Cluster Monitoring (galeramon)

The default master selection is based only on MIN(wsrep_local_index). This can be influenced with the server priority mechanic described in the Galera Monitor manual.

Router limitations

Refer to individual router documentation for a list of their limitations.

MariaDB MaxScale 2.4.19 Release Notes

Release 2.4.19 is a GA release.

Released: 10 Jan 2022

This document describes the changes in release 2.4.19, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3892 schema router flood information schemas with queries

  • MXS-3885 MaxScale unconditionally loads global options from /etc/maxscale.cnf.d/maxscale.cnf

  • MXS-3879 MaxScale doesn't load maxscale section in persistent file after restart

  • MXS-3873 Crash in qc_sqlite

  • MXS-3617 writeq throttling can lose response packets

  • MXS-3585 query classifier crashes after upgrade from 2.5.11 to 2.5.12

  • MXS-3310 Amend documentation on keytab file location to mention the possibility to use the environment variable KRB5_KTNAME

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.18 Release Notes

Release 2.4.18 is a GA release.

Released: 2 Nov 2021

This document describes the changes in release 2.4.18, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3800 Not enough information in server state change messages

  • MXS-3609 Some statistics use 32-bit integers

  • MXS-3582 [readwritesplit] Failed to execute session command

  • MXS-3538 Removal of authenticator_options is not documented in upgrade documents

  • MXS-3535 user variable is not collected if it's in join clause

  • MXS-3533 MaxScale doesn't advertise the SESSION_TRACK capability

  • MXS-3529 Maxscale is not compatible with the latest cmake 3.20

  • MXS-3487 Old master connection is left open after transaction migration

  • MXS-3415 --export-config uses default file permissions

  • MXS-3114 Listener creation via REST API with sockets doesn't work

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.17 Release Notes

Release 2.4.17 is a GA release.

Released: 8 Mar 2021

This document describes the changes in release 2.4.17, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3425 Crash with LOAD DATA LOCAL INFILE and retain_last_statements

  • MXS-3424 retain_last_statements cannot be disabled at runtime

  • MXS-3404 maxscale write in the slave with function

  • MXS-3392 Reset implementation on failing prepared statement

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.16 Release Notes

Release 2.4.16 is a GA release.

Released: 17 Feb 2021

This document describes the changes in release 2.4.16, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3408 ASAN reports leaks in the query classifier

  • MXS-3404 maxscale write in the slave with function

  • MXS-3399 QC heap-buffer-overflow

  • MXS-3345 --basedir overrides more specific settings like --connector_plugindir

  • MXS-3330 Fatal: MaxScale 2.4.14 received fatal signal 11

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.15 Release Notes

Release 2.4.15 is a GA release.

Released: 21 Jan 2021

This document describes the changes in release 2.4.15, when compared to the previous release in the same series.

If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.

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

Bug fixes

  • MXS-3360 MaxCtrl option --authenticator-options doesn't work

  • MXS-3346 When using --basedir, mysql/plugin dir needs to be writable

  • MXS-3337 galeramon queries only status, not variables

  • MXS-3326 Host class does not accept all valid domain names.

  • MXS-3325 Redis cache storage does not accept dashes in server names.

  • MXS-3324 Internal connections should explicitly set the autocommit state.

  • MXS-3318 Parsing error with comment

  • MXS-3314 Lack of prepared statement support for causal_reads is not documented

  • MXS-3158 Failover/switchover modifies event character set and collation

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.14 Release Notes

Release 2.4.14 is a GA release.

Released: 25 Nov 2020

This document describes the changes in release 2.4.14, when compared to the previous release in the same series.

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

NOTE 2.4.14 is the last release that is made available for RHEL6, which reaches its EOL at the end of November.

Bug fixes

  • MXS-3297 Extended MariaDB capabilities are not read correctly

  • MXS-3295 Layout of classify REST API endpoint stores non-parameter data in parameters object

  • MXS-3293 Backticks not stripped in USE statements.

  • MXS-3273 Connection lost when unrelated server loses Slave status

  • MXS-3272 maxctrl not prompt directy for the password

  • MXS-3240 Uom variable from maxscale api /maxscale/threads

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.13 Release Notes

Release 2.4.13 is a GA release.

Released: 19 Oct 2020

This document describes the changes in release 2.4.13, when compared to the previous release in the same series.

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

New signature key for the packages

Now packages are signed by MariaDB Enterprise key. Public key is here MariaDB-Enterprise-GPG-KEY

Bug fixes

  • MXS-3220 MaxScale crashes in gwbuf_set_type() upon query retry

  • MXS-3200 Abort due to double free or corruption after "Write to Client DCB ... state DCB_STATE_POLLING failed"

  • MXS-3198 MariadbMon documentation needs to take 10.5 privilege changes into account

  • MXS-3177 Fix download link in documentation

  • MXS-3165 cache_inside_transactions vs cache_in_transactions

  • MXS-3149 Monitor should remove [Master] when starting swithover

  • MXS-3143 FOUND_ROWS() not routed to previous target

  • MXS-3132 Monitor timeout defaults are wrong

  • MXS-3131 Monitor module not displayed in show monitors

  • MXS-3123 Documentation: KB page for 2.4 does not mention maxctrl way to rotate the log

  • MXS-2680 Monitor type not shown in show monitors

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.12 Release Notes

Release 2.4.12 is a GA release.

This document describes the changes in release 2.4.12, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-3121 At SIGSEGV time, the statement currently being parsed should be logged.

  • MXS-3120 Crash in qc_sqlite.

  • MXS-3115 Error loading kubernetes mounted cnf

  • MXS-3113 No message in new log after rotate

  • MXS-3106 'Cannot assign requested address'

  • MXS-3101 getpeername()' failed on file descriptor

  • MXS-3100 Potential memory leak

  • MXS-3089 Backend not closed on failed session command

  • MXS-619 creating many short sessions in parallel leads to errors

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.11 Release Notes

Release 2.4.11 is a GA release.

Released: 15 Jul 2020

This document describes the changes in release 2.4.11, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-3069 Unnecessary AuthSwitchRequest with old clients

  • MXS-3064 User loading query can run into charset collation problems

  • MXS-3059 Crash in Galera monitor

  • MXS-3057 session_trace enables all log levels

  • MXS-3055 DCB write errors with abstracted services

  • MXS-3054 Crash with persistent connections, schemarouter and local services abstracted as servers

  • MXS-3041 QC bug with keyword handler

  • MXS-3038 readwritesplit router should not open new connections to slaves lagging for more than max_slave_replication_lag seconds

  • MXS-3020 Parts of 2.4 manual still suggest to use deprecated maxadmin

  • MXS-2996 Query Type of 'SELECT ... LOCK IN SHARE MODE;'

  • MXS-2585 MaxScale dies with fatal signal 11

  • MXS-2584 Race condition between startup/shutdown and signal delivery

  • MXS-619 creating many short sessions in parallel leads to errors

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.10 Release Notes

Release 2.4.10 is a GA release.

Released: 8 Jun 2020

This document describes the changes in release 2.4.10, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-3023 worker id overflow

  • MXS-3021 Allow dbfwfilter to be less strict

  • MXS-3019 Enum with invalid and valid value is not detected

  • MXS-3014 Missing parameters in /maxscale endpoint

  • MXS-3013 No maxctrl equivalent for maxadmin "reload dbusers"

  • MXS-3010 maxkeys -u does not work

  • MXS-3000 Not all global parameters are serialized

  • MXS-2998 maxctrl parsing trouble

  • MXS-2990 QC bug

  • MXS-2984 maxctrl list listeners output is not correct

  • MXS-2983 --servers option doesn't document value syntax

  • MXS-2982 maxscale --help points to old documentation

  • MXS-2981 Missng REST API TLS certificates are not a hard error

  • MXS-2980 maxctrl not using SSL/TLS in interactive mode

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.9 Release Notes

Release 2.4.9 is a GA release.

Released: 30 Apr 2020

This document describes the changes in release 2.4.9, when compared to the previous release in the same series.

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

New Features

  • MXS-2861 Allow TLS cipher selection between Maxscale and client

Bug fixes

  • MXS-2972 USE sent to wrong server

  • MXS-2969 maxscale service still not stopped / restarted on package upgrade

  • MXS-2968 Avrorouter direct replication sets wrong server_id

  • MXS-2956 admin_ssl_ca_cert reads the wrong certificate

  • MXS-2954 cluster sync doesn't update global configuration options

  • MXS-2948 Fix cluster sync

  • MXS-2943 csmon doesn't work with pluggable ColumnStore

  • MXS-2942 DELETE of a monitor doesn't check whether it uses servers

  • MXS-2939 Session commands do not trigger reconnection

  • MXS-2931 MXS-2810 still unfixed in RHEL / CentOS 6 packages

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.8 Release Notes

Release 2.4.8 is a GA release.

Released: 18 Mar 2020

This document describes the changes in release 2.4.8, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2921 Memory leak in alter maxscale

  • MXS-2919 max_slave_replication_lag uses servers with unknown replication lag

  • MXS-2917 qc_sqlite leaks memory with complex CREATE TABLE query

  • MXS-2907 Logrotate warnings when PID file does not exist

  • MXS-2898 warning: The query can't be routed to all backend servers because it includes SELECT and SQL variable modifications which is not supported.

  • MXS-2893 UnhandledPromiseRejectionWarning when creating a new filter

  • MXS-2878 Monitor connections do not insist on SSL being used

  • MXS-2873 Router diagnostic output is not documented

  • MXS-2844 maxctrl fails to destroy binlogrouter service

  • MXS-2811 Cannot configure Connector-C TLS version

  • MXS-2508 Using DIV function in query produces an error

  • MXS-2382 TLS/SSL setup is not a part of the server mini-tutorial

  • MXS-2227 optimize table: Query could not be tokenized/Parsing the query failed, cannot report query type

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.7 Release Notes

Release 2.4.7 is a GA release.

Released: 13 Feb 2020

This document describes the changes in release 2.4.7, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2889 Direct replication mode can hang on shutdown

  • MXS-2887 admin_auth documented as not modifiable at runtime

  • MXS-2883 session closed by maxscale when it received "auth switch request" packet from backend server

  • MXS-2880 Typo in MariaDBMonitor slave connection printing

  • MXS-2878 Monitor connections do not insist on SSL being used

  • MXS-2871 maxscale RPM post-uninstall script has bugs

  • MXS-2859 Strings with newlines break configuration serialization

  • MXS-2858 Hang with writeq_high_water

  • MXS-2857 ssl_verify_peer_certificate should not be on by default

  • MXS-2851 CAST Function displays contents of Masked column

  • MXS-2850 MaxScale masking does not work with UNION ALL

  • MXS-2822 Unexpected internal state: received response

  • MXS-2810 maxscale process still running after uninstalling maxscale package

  • MXS-2784 Default charset is not correct

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.6 Release Notes

Release 2.4.6 is a GA release.

Released: 24 Jan 2020

This document describes the changes in release 2.4.6, when compared to the previous release in the same series.

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

New Features

  • MXS-2758 Enable the systemd unit after setting up the maxscale package

Bug fixes

  • MXS-2843 remove password info from maxscale log

  • MXS-2839 Not configuring ssl_ca_cert should use system CA

  • MXS-2834 Transaction retrying on deadlock is not configurable

  • MXS-2829 Deleting a filter doesn't remove the persisted file

  • MXS-2824 Basic user access is not documented from maxctrl's perspective

  • MXS-2821 Generic error message "Invalid object relations for" when dynamically creating or linking items in maxscale with maxctrl

  • MXS-2820 Wrong error message for failed authentication

  • MXS-2815 [Warning] Platform does not support O_DIRECT in conjunction with pipes - Pls. downgrade to [Notice]

  • MXS-2812 "Auth Error" server status only documented in 1.4 documentation

  • MXS-2810 maxscale process still running after uninstalling maxscale package

  • MXS-2801 session_trace doesn't contain all messages

  • MXS-2798 MXS-1550 (net_write_timeout) is not documented

  • MXS-2792 Documentation for MaxScale's monitor script is incomplete

  • MXS-2710 max_connections problem

  • MXS-619 creating many short sessions in parallel leads to errors

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.5 Release Notes

Release 2.4.5 is a GA release.

Released: 21 Dec 2019

This document describes the changes in release 2.4.5, when compared to the previous release in the same series.

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

New Features

  • MXS-2785 Allow database renaming in binlogfilter

Bug fixes

  • MXS-2813 maxctl shows password in clear text

  • MXS-2809 2.4 configuration still contains links to v2.3 documentation

  • MXS-2803 Hang with readconnroute and persistent connections

  • MXS-2802 COM_RESET_CONNECTION is treated as a write

  • MXS-2794 Reloading of users is not logged

  • MXS-2788 Masking filter performs case-sensitive checks against unquoted case-insensitive identifiers in function calls and WHERE clauses

  • MXS-2782 Wrong thread id causes MaxScale to crash.

  • MXS-2776 Binlog filter skipping commit when writing to ColumnStore

  • MXS-2775 Document that a crashed master can break auto_rejoin with semisynchronous replication

  • MXS-2498 MaxScale not routing TEMPORARY TABLE reading to MASTER

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.4 Release Notes

Release 2.4.4 is a GA release.

Released: 13 Nov 2019

This document describes the changes in release 2.4.4, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2760 ssl_version value conversion is wrong

  • MXS-2727 Maxscale 2.4.2 crash

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.3 Release Notes

Release 2.4.3 is a GA release.

Released: 6 Nov 2019

This document describes the changes in release 2.4.3, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2734 Unexpected error message when preferred_server is configured

  • MXS-2733 UTC_TIMESTAMP not recognized as a built-in function

  • MXS-2732 Memory leak with QC

  • MXS-2731 Crash in Avro router.

  • MXS-2728 maxscale .secret file permission

  • MXS-2721 MaxScale 2.4.2 crashes on different lxc containers with similar error

  • MXS-2720 maxctrl and maxadmin report negative number of connections to a service

  • MXS-2713 SET PASSWORD statement sent to all nodes, not only to master

  • MXS-2711 retain_last_statements cannot be disabled at runtime

  • MXS-2707 MaxScale 2.4.2 crashes randomly

  • MXS-2702 Session command with lazy_connect causes master to be "lost"

  • MXS-2699 Two QC bugs

  • MXS-2690 Schemarouter doesn't detect empty duplicate databases

  • MXS-2688 SET should be classified as QUERY_TYPE_SESSION_WRITE

  • MXS-2687 Invalid socket paths not treated as errors

  • MXS-2684 Backend DCB taken from persistent pool is not subject to throttling

  • MXS-2675 TLS not enabled after server creation via maxctrl

  • MXS-2674 QC bugs

  • MXS-2672 MaxScale 2.4.2 keep crashing

  • MXS-2664 Nagios not found on MaxScale 2.4

  • MXS-2652 Maintenance mode lost if node is shutdown

  • MXS-2620 Document that shutting down the master can break auto_rejoin and lose transactions

  • MXS-2600 Documentation is inconsistent regarding privileges for MariaDB Monitor

  • MXS-2564 Rapid reconnection on server failure

  • MXS-2354 Timestamp/Datetime precision lost when using cdc streaming

  • MXS-2264 Schema aware avrorouter ignores table renames

  • MXS-2263 Maxscale CDC treats unsigned columns as signed

  • MXS-2191 Split-brain detection doesn't work

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.2 Release Notes

Release 2.4.2 is a GA release.

Released: 30 Aug 2019

This document describes the changes in release 2.4.2, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2650 Connector-C-based connections do not use SSL even when configured

  • MXS-2631 Duplicate tables found, but it's system tables (information_schema., mysql.)

  • MXS-2612 Use-after-free in cache filter

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.1 Release Notes

Release 2.4.1 is a GA release.

Released: 20 Aug 2019

This document describes the changes in release 2.4.1, when compared to the previous release in the same series.

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

Bug fixes

  • MXS-2633 Pam authentication doesn't work with server 10.4

  • MXS-2603 MaxScale causes connections to break in Percona PXC Cluster

  • MXS-2598 memory leak on handling COM_CHANGE_USER

  • MXS-2597 MaxScale doesn't handle errors from microhttpd

  • MXS-2594 Enabling use_priority for not set priority on server level triggers an election

  • MXS-2578 Maxscale RPM issue PCI Compliancy

  • MXS-2577 Avrorouter direct conversion is not documented

  • MXS-2574 maxctrl alter user doesn't work on current user

  • MXS-2544 PAMAuth doesn't check role permissions

  • MXS-2521 COM_STMT_EXECUTE maybe return empty result

  • MXS-2446 Fatal on Maxscale server on reimaging clustrix setup being monitored.

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.

Packaging

RPM and Debian packages are provided for supported the 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.

MariaDB MaxScale 2.4.0 Release Notes

Release 2.4.0 is a Beta release.

Released: 29 Jun 2019

This document describes the changes in release 2.4.0, when compared to release 2.3.

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

Changed Features

Section and object names

Section and object names starting with @@ are now reserved for use by MaxScale itself. If any such names are encountered in configuration files, then MaxScale will not start.

Whitespace in section names that was deprecated in 2.2 will now be rejected and cause the startup of MaxScale to fail.

Binding on network ports

MaxScale 2.4.0 will now use the SO_REUSEPORT capability offered by newer kernels that allows reuse of network listener ports. In practice this means improved connection creation speed with more dynamic balancing of connections.

As a side-effect of this, it is possible for two MaxScale instances to bind on the same listener port on systems that have Linux kernels newer than 3.9. This can only happen if the MaxScale instances use completely different directory structures (i.e. different --basedir arguments). Normal use of MaxScale still detects multiple MaxScales trying to bind to the same ports. Almost always, this will not have any negative side-effects.

Stronger hashing algorithm for admin user passwords

The administrative user passwords are now stored as SHA2-512 hashes which is an improvement over the older MD5 hashing algorithm. New users will use the stronger algorithm but old users will continue using the weaker one. To upgrade administrative users, recreate the user.

REST API

Mandatory protocol parameter on server creation

The protocol parameter must now always be defined when a server is created. The previously undocumented default value of mariadbbackend now must be explicitly defined when a server is created via the REST API.

TLS on server creation

To create encrypted connection to a server, the TLS parameters must be defined at server creation time. To enable TLS for a server that doesn't have it, destroy the old one and recreate it afterwards.

Dropped Features

Enabling server TLS via MaxAdmin

As TLS for servers must now be defined at creation time, enabling TLS at runtime via MaxAdmin is no longer possible. Use MaxCtrl to create servers with TLS enabled.

debugcli and telnetd

The debugcli router and the telnetd protocol module it uses have been removed.

ndbclustermon

The ndbclustermon module has been removed.

mmmon

The mmmon module has been removed as the mariadbmon monitor largely does what it used to do.

MariaDB-Monitor settings

The following settings have been removed and cause a startup error if defined: mysql51_replication, multimaster and allow_cluster_recovery.

log_to_shm

The log_to_shm parameter that was removed in 2.3 will be treated as an unknown parameter in 2.4.0.

Deprecated Features

mqfilter

The mqfilter has been deprecated and it will be removed in a future version of MaxScale.

We advise against using it.

Nagios Plugins

MaxScale no longer ships the example scripts and configuration files for Nagios.

New Features

Clustrix Support

MaxScale now contains support for Clustrix in the form of a Clustrix monitor that is capable of monitoring a Clustrix cluster.

Please see the documentation for details.

Smart Router

MaxScale has now a new router SmartRouter that is capable of routing a query to different kinds of backends, containing the same data, depending on which backend can best handle that particular kind of query.

Please see the documentation for details.

Servers can be drained

It is now possible to drain a server, which means that existing connections to the server can continue to be used but new connections are no longer created to the server.

In the output of maxctrl, the fact that a server is being drained is visible in the State column as the value Draining.

┌─────────┬─────────────────┬──────┬─────────────┬───────────────────────────────┬───────┐
│ Server  │ Address         │ Port │ Connections │ State                         │ GTID  │
├─────────┼─────────────────┼──────┼─────────────┼───────────────────────────────┼───────┤
│ Server1 │ 192.168.121.159 │ 3306 │ 2           │ Master, Running               │ 0-1-6 │
├─────────┼─────────────────┼──────┼─────────────┼───────────────────────────────┼───────┤
│ Server2 │ 192.168.121.80  │ 3306 │ 1           │ Draining, Slave, Running      │ 0-1-6 │
├─────────┼─────────────────┼──────┼─────────────┼───────────────────────────────┼───────┤
│ Server3 │ 192.168.121.122 │ 3306 │ 2           │ Slave, Running                │ 0-1-6 │
├─────────┼─────────────────┼──────┼─────────────┼───────────────────────────────┼───────┤
│ Server4 │ 192.168.121.144 │ 3306 │ 2           │ Slave, Running                │ 0-1-6 │
└─────────┴─────────────────┴──────┴─────────────┴───────────────────────────────┴───────┘

A server is set in the Draining state the same way as it is set in the Maintenance state:

$ maxctrl set server Server2 drain

Note that although the state is displayed as Draining, when setting and clearing the state, the word drain is used.

Note that the full implication of draining a server depends upon both on the role of the server and on the router being used, and its configuration.

For instance, if readwritesplit is used and the server being drained is a slave, then from a client's perspective there will be no difference; readwritesplit will simply not use that server. However, if the server being drained is the master, then it will not be possible to connect unless master_failure_mode has been set to something else but the default fail_instantly.

Once the server has been drained, the state will be Drained.

weightby Replacement for Servers: rank

The new rank parameter is the replacement for the deprecated weightby parameter. It allows explicit groupings of servers into primary and secondary groups. Servers configured with rank=secondary will only be used if no primary servers are available.

UNIX Domain Socket for Servers

Servers can now use the socket parameter to define a local UNIX domain socket through which the connections will be created.

Cluster

The servers a service uses can now be specified using the cluster parameter of the service.

[TheService]
...
cluster=TheMonitor

In this case, the servers of the service will be defined by the referred to monitor. Note that the parameters servers and cluster are mutually exclusive.

Durations

In the MaxScale configuration file, durations can now be suffixed with h, m, s or ms to indicate that the duration is specified as hours, minutes, seconds or milliseconds.

Please see the configuration guide for details.

Not providing an explicit unit is strongly discouraged as it will be deprecated in MaxScale 2.5.

Query Classifier Cache

It is now possible to examine the contents of the query classifier cache. The REST-API endpoint is

/v1/maxscale/query_classifier/cache

and the equivalent maxctrl command

maxctrl show qc_cache

The output shows the statements (the canonical version) in the cache, the number of times they have been encountered and how they have been classified.

Connection Attempt Throttling

If a user fails to authenticate multiple times, the host from where the user is connecting from will be blocked for 60 seconds. See max_auth_errors_until_block for more information.

REST API & MaxCtrl

Default API Version

The API version prefix is now optional and if not present, will be assumed to be the latest version which currently is /v1.

Hard maintenance mode

The new --force option for the set server command in MaxCtrl allows all connections to the server in question to be closed when it is set into maintenance mode. This causes idle connections to be closed immediately.

For more information, read the REST-API documentation for the set endpoint.

Command History

The interactive mode for MaxCtrl now has command history.

Multi-parameter Alter

The alter commands in MaxCtrl now accept multiple key-value pairs in one command. See output of maxctrl help alter for more information.

Readwritesplit

For more information on the readwritesplit router, refer to the documentation.

transaction_replay

The transaction replay functionality will now also be applied in conjunction with server initiated transaction rollbacks.

transaction_replay_attempts

The new transaction_replay_attempts parameter controls how many errors the transaction replay mechanism tolerates before giving up on the replay attempt. The number of transaction replay attempts is now capped to a default value of 5.

lazy_connect

Lazy connection creation delays the opening of all connections until they are needed. This reduces the load that is placed on the backend servers when the client connections are short. This feature is disabled by default.

Connection Selection

The servers where new connections are created at the start of a session are now always use connection counts. This allows the use of slave_selection_criteria=LEAST_CURRENT_OPERATIONS and max_slave_connections=1.

Master Selection

Readwritesplit will now load balance master connections in case there are multiple master servers. This is mainly of relevance only with Clustrix clusters.

Maintenance mode

Readwritesplit now allows open transactions to finish if the master is put into maintenance mode. To forcefully close all connections to a server use the maxctrl set server <name> maintenance --force command.

Galeramon

Replicating Slaves

If a slave server is replicating from a Galera node, galeramon will now correctly assign it the Slave status.

GTID in list servers

Galera nodes will now display their GTID positions in the output of maxctrl list servers.

Avrorouter Direct Replication

By defining the servers parameter for the avrorouter service, the replication is done directly from a remote master server. This skips the binlogrouter definition completely making the conversion process faster and more space efficient.

enforce_simple_topology

This MariaDB-Monitor setting allows the monitor greater freedom in managing the backend servers. Please see MariaDB-Monitor documentation for more information.

Bug fixes

Here is a list of bugs fixed in MaxScale 2.4.0.

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.

Packaging

RPM and Debian packages are provided for the Linux distributions supported by MariaDB Enterprise.

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 X.Y.Z. Further, master always refers to the latest released non-beta version.

The source code is available here.