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
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.
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.
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.
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.
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;
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.
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.
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.
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.
The Database Firewall filter does not support multi-statements. Using them will result in an error being sent to the client.
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.
A server can only be monitored by one monitor. Two or more monitors monitoring the same server is considered an error.
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.
Refer to individual router documentation for a list of their limitations.
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.
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
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-4541 Provide a way to show details about all supported MaxScale modules via REST API and/or MaxCtrl
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-4348 Full SASL support is not enabled for kafka modules
MXS-4317 Smartrouter interrupts the wrong query
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-2904 Document MaxScale performance tuning
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-3997 Name threads for better CPU usage view
MXS-3665 Provide more feedback on TLS cipher mismatch
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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'.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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'
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-3193 Allow the binlog router to replicate from Galera cluster with failover.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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).
MXS-3129 Add Switchover to WebGUI
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)
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
Now packages are signed by MariaDB Enterprise key. Public key is here MariaDB-Enterprise-GPG-KEY
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
MXS-3099 Add AddNode/RemoveNode to the Columnstore Monitor
MXS-2383 Support PAM authentications involving more than simple password exchanges
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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.
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;'
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
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.
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.
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).
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
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.
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.
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.
Several changes, see here for more details.
Listeners are now a separate resource from services. The old listeners entry point is deprecated and its use is discouraged.
Use maxctrl or maxgui instead.
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.
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.
The maxinfo-router and the httpd-protocol have been removed.
Server parameters protocol
and authenticator
have been deprecated. Any definitions are ignored.
The use of percentage values in max_slave_connections
has been deprecated.
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 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.
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.
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.
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.
MariaDB-Monitor supports cooperative monitoring. See cooperative monitoring for more information.
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.
Added support for peer hostname verification in connections that use TLS.
Added support for certificate revocation lists
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.
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.
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.
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.
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.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the Linux distributions supported by MariaDB Enterprise.
Packages can be downloaded here.
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.