247 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # MariaDB MaxScale 2.2.1 Release Notes -- 2018-01-11
 | |
| 
 | |
| Release 2.2.1 is a Beta release.
 | |
| 
 | |
| This document describes the changes in release 2.2.1, when compared to
 | |
| release 2.2.0.
 | |
| 
 | |
| For any problems you encounter, please consider submitting a bug
 | |
| report at [Jira](https://jira.mariadb.org).
 | |
| 
 | |
| ## Changed Features
 | |
| 
 | |
| ### Process identity
 | |
| 
 | |
| By default, MaxScale can no longer be run as `root`, but must be run as some
 | |
| other user. However, it is possible to start MaxScale as `root`, as long as
 | |
| the user to run MaxScale as is provided as a command line argument:
 | |
| ```
 | |
| root@host:~# maxscale --user=maxuser ...
 | |
| ```
 | |
| If it is imperative to run MaxScale as root, e.g. in a Docker container, it
 | |
| can be achieved by invoking MaxScale as root and by explicitly specifying
 | |
| the user to also be root:
 | |
| ```
 | |
| root@host:~# maxscale --user=root ...
 | |
| ```
 | |
| 
 | |
| ### Binlog server
 | |
| 
 | |
| * The `mariadb10_slave_gtid` parameter was removed and slave connections can now
 | |
|   always register with MariaDB 10 GTID.
 | |
|   This means the gtid_maps SQLite database is always updated.
 | |
| 
 | |
| * The `binlog_structure` parameter was removed and the binlogs are stored
 | |
|   automatically in 'tree' mode when `mariadb10_master_gtid` is enabled
 | |
|   (GTID registration to master).
 | |
| 
 | |
| * If `mariadb10_master_gtid` is enabled, the `transaction_safety` is
 | |
|   automatically enabled. In MaxScale 2.2.0, if `transaction_safety` was disabled
 | |
|   when `mariadb10_master_gtid` was enabled MaxScale would refuse to start.
 | |
| 
 | |
| * The binlogrouter can accept GTID slave registration from MariaDB 10.X slaves
 | |
|   and can also register to Master server MariaDB 10.x using GTID.
 | |
| 
 | |
| ### Module names and case sensitivity
 | |
| 
 | |
| * The filenames of all modules have been made lowercase.
 | |
| * When specifying a module, the name matching is case insensitive.
 | |
| 
 | |
| In practice this means that in the configuration file, the following
 | |
| are all equivalent:
 | |
| ```
 | |
| router=readwritesplit
 | |
| 
 | |
| router=READWRITESPLIT
 | |
| 
 | |
| router=ReadWriteSplit
 | |
| ```
 | |
| 
 | |
| ### MySQL/MariaDB Client Protocol
 | |
| 
 | |
| The shared object implementing the client protocol has been renamed
 | |
| from `libMySQLClient.so` to `libmaridbclient.so`. In practice this means
 | |
| that, in the MaxScale configuration file, `MySQLClient` should be replaced
 | |
| with `mariadbclient` or, e.g., `MariaDBClient`, as module names are matched
 | |
| in a case insensitive manner.
 | |
| 
 | |
| As an example, a listener section like
 | |
| ```
 | |
| [TheListener]
 | |
| type=listener
 | |
| ...
 | |
| protocol=MySQLClient
 | |
| ```
 | |
| should be changed into
 | |
| ```
 | |
| [TheListener]
 | |
| type=listener
 | |
| ...
 | |
| protocol=MariaDBClient
 | |
| ```
 | |
| *NOTE* Using `MySQLClient` is still supported, but has been deprecated.
 | |
| 
 | |
| ### MySQL Backend Protocol
 | |
| 
 | |
| The shared object implementing the backend protocol has been renamed
 | |
| from `libMySQLBackend.so` to `libmaridbbackend.so`. In practice this means
 | |
| that, in the MaxScale configuration file, `MySQLBackend` should be replaced
 | |
| with `mariadbbackend` or, e.g., `MariaDBBackend`, as module names are matched
 | |
| in a case insensitive manner.
 | |
| 
 | |
| As an example, a server section like
 | |
| ```
 | |
| [TheServer]
 | |
| type=server
 | |
| ...
 | |
| protocol=MySQLBackend
 | |
| ```
 | |
| should be changed into
 | |
| ```
 | |
| [TheServer]
 | |
| type=server
 | |
| ...
 | |
| protocol=MariaDBBackend
 | |
| ```
 | |
| *NOTE* Using `MySQLBackend` is still supported, but has been deprecated.
 | |
| 
 | |
| ### MySQL Monitor
 | |
| 
 | |
| Renamed to [MariaDB Monitor](../Monitors/MariaDB-Monitor.md).
 | |
| 
 | |
| Note that this affects the module name as well. Up until MaxScale 2.2.0
 | |
| a configuration section referring to this monitor would look like
 | |
| ```
 | |
| [MyMonitor]
 | |
| type=monitor
 | |
| module=mysqlmon
 | |
| ...
 | |
| ```
 | |
| but from MaxScale 2.2.1 onwards it should look like
 | |
| ```
 | |
| [MyMonitor]
 | |
| type=monitor
 | |
| module=mariadbmon
 | |
| ...
 | |
| ```
 | |
| The name `mysqlmon` has been deprecated but can still be used, although it will
 | |
| cause a warning to be logged.
 | |
| 
 | |
| ### MariaDB Monitor
 | |
| 
 | |
| The default value of the configuration parameter `detect_standalone_master` has
 | |
| been changed from `false` to `true`.
 | |
| 
 | |
| ### ReadWritesplit
 | |
| 
 | |
| The default value of `strict_multi_stmt` was changed to `false` to make
 | |
| usage of atomic compound statements and multi-statement queries less
 | |
| restrictive and to align it with the default value of `strict_sp_calls`.
 | |
| 
 | |
| Most cases where the functionality of `strict_multi_stmt` was triggered
 | |
| were cases where the added safety of locking a session to the master did
 | |
| more harm than it did good.
 | |
| 
 | |
| The only case where `strict_multi_stmt` should be enabled is when a
 | |
| multi-statement or a compound statement modifies the state of the
 | |
| session. This is not a good practice and a change in the client side
 | |
| behavior is advised.
 | |
| 
 | |
| ### Top Filter
 | |
| 
 | |
| The top filter now uses the session ID instead of an internal counter for the
 | |
| names of the log file names.
 | |
| 
 | |
| ### MaxCtrl
 | |
| 
 | |
| The `-h, --hosts` argument was changed to accept a list of hostnames separated
 | |
| by commas instead of spaces. This prevents commands from accidentally being
 | |
| interpreted as hostnames.
 | |
| 
 | |
| ## Dropped Features
 | |
| 
 | |
| ## New Features
 | |
| 
 | |
| ### MariaDB Monitor
 | |
| 
 | |
| MariaDB Monitor can now perform *failover* (replace a dead master), *switchover*
 | |
| (replace a running master) and *rejoin* (join a standalone node to the
 | |
| master-slave cluster). All of these features only work with a simple 1-master
 | |
| N-slaves cluster using Gtid replication. Failover and switchover can be
 | |
| activated through maxadmin or the REST-API. Failover and rejoin can be set to
 | |
| activate automatically. For more information, see the
 | |
| [MariaDB Monitor documentation](../Monitors/MariaDB-Monitor.md).
 | |
| 
 | |
| ### REST API Relationship Endpoints
 | |
| 
 | |
| The _servers_, _monitors_ and _services_ types now support direct updating of
 | |
| relationships via the `relationships` endpoints. This conforms to the JSON API
 | |
| specification on updating resource relationships.
 | |
| 
 | |
| For more information, refer to the REST API documentation. An example of this
 | |
| can be found in the
 | |
| [Server Resource documentation](../REST-API/Resources-Server.md#update-server-relationships).
 | |
| 
 | |
| ### PL/SQL Comaptibility
 | |
| 
 | |
| The parser of MaxScale has been extended to support the PL/SQL compatibility
 | |
| features of the upcoming 10.3 release. For more information on how to enable
 | |
| this mode, please refer to the
 | |
| [configuration guide](../Getting-Started/Configuration-Guide.md#sql_mode).
 | |
| 
 | |
| This functionality was available already in MaxScale 2.2.0.
 | |
| 
 | |
| ### Environment Variables in the configuration file
 | |
| 
 | |
| If the global configuration entry `substitute_variables` is set to true,
 | |
| then if the first character of a value in the configuration file is a `$`
 | |
| then everything following that is interpreted as an environment variable
 | |
| and the configuration value is replaced with the value of the environment
 | |
| variable. For more information please consult the
 | |
| [Configuration Guide](../Getting-Started/Configuration-Guide.md).
 | |
| 
 | |
| ### Cache behaviour in transactions
 | |
| 
 | |
| It can now be specified how the cache should be behave when a transaction
 | |
| is active. Please refer to the [documentation](../Filters/Cache.md)
 | |
| for details.
 | |
| 
 | |
| ## Bug fixes
 | |
| 
 | |
| [Here is a list of bugs fixed in MaxScale 2.2.1.](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.2.1)
 | |
| 
 | |
| * [MXS-1593](https://jira.mariadb.org/browse/MXS-1593) Servers appearing as Stale out of list servers for a fresh setup
 | |
| * [MXS-1588](https://jira.mariadb.org/browse/MXS-1588) Switchover fails randomly
 | |
| * [MXS-1582](https://jira.mariadb.org/browse/MXS-1582) Maxscale leaving socket behind after shutdown
 | |
| * [MXS-1545](https://jira.mariadb.org/browse/MXS-1545) Fix GTID connecting slave error detections
 | |
| * [MXS-1541](https://jira.mariadb.org/browse/MXS-1541) Top filter uses internal ID instead of session ID for file suffix
 | |
| * [MXS-1527](https://jira.mariadb.org/browse/MXS-1527) SELECT with session var is not supported
 | |
| * [MXS-1525](https://jira.mariadb.org/browse/MXS-1525) Firewall filter does not check exact match for host
 | |
| * [MXS-1519](https://jira.mariadb.org/browse/MXS-1519) Firewall instances can interfere with each other
 | |
| * [MXS-1517](https://jira.mariadb.org/browse/MXS-1517) Retain stale master status even if the master goes down
 | |
| * [MXS-1499](https://jira.mariadb.org/browse/MXS-1499) Add missing fields to SHOW ALL SLAVES STATUS
 | |
| * [MXS-1486](https://jira.mariadb.org/browse/MXS-1486) The cache does not always update the cached entry even if it could
 | |
| * [MXS-1461](https://jira.mariadb.org/browse/MXS-1461) NOT operation needed for firewall rule
 | |
| * [MXS-1408](https://jira.mariadb.org/browse/MXS-1408) maxadmin not working in latest version
 | |
| * [MXS-1327](https://jira.mariadb.org/browse/MXS-1327) set   log-priority by  maxadmin
 | |
| 
 | |
| ## 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).
 | 
