114 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# MariaDB MaxScale 2.4.0 Release Notes
 | 
						|
 | 
						|
Release 2.4.0 is a Beta release.
 | 
						|
 | 
						|
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](https://jira.mariadb.org).
 | 
						|
 | 
						|
## 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.
 | 
						|
 | 
						|
## Dropped Features
 | 
						|
 | 
						|
## New Features
 | 
						|
 | 
						|
### 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 `Being Drained`.
 | 
						|
```
 | 
						|
┌─────────┬─────────────────┬──────┬─────────────┬───────────────────────────────┬───────┐
 | 
						|
│ 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           │ Being Drained, 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 _being drained_ 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 `Being Drained`, 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`.
 | 
						|
 | 
						|
### 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](../Getting-Started/Configuration-Guide.md#durations)
 | 
						|
for details.
 | 
						|
 | 
						|
_Not_ providing an explicit unit has been deprecated in MaxScale 2.4.
 | 
						|
 | 
						|
## Bug fixes
 | 
						|
 | 
						|
[Here is a list of bugs fixed in MaxScale 2.4.0.](https://jira.mariadb.org/issues/?jql=project%20%3D%20MXS%20AND%20issuetype%20%3D%20Bug%20AND%20status%20%3D%20Closed%20AND%20fixVersion%20%3D%202.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](../About/Limitations.md) document.
 | 
						|
 | 
						|
## Packaging
 | 
						|
 | 
						|
RPM and Debian packages are provided for the Linux distributions supported
 | 
						|
by MariaDB Enterprise.
 | 
						|
 | 
						|
Packages can be downloaded [here](https://mariadb.com/resources/downloads).
 | 
						|
 | 
						|
## 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](https://github.com/mariadb-corporation/MaxScale).
 |