Update limitations document on wait_timeout

The document now describes readwritesplit's behavior when wait_timeout is
configured to a low value.
This commit is contained in:
Markus Makela
2016-08-30 10:17:35 +03:00
parent 248a58629b
commit 71bc30be5b

View File

@ -26,24 +26,24 @@ Workaround: Ensure that socket paths and ports are valid.
Issues [MXS-710](https://jira.mariadb.org/browse/MXS-710) and Issues [MXS-710](https://jira.mariadb.org/browse/MXS-710) and
[MXS-711](https://jira.mariadb.org/browse/MXS-711) relate to this. [MXS-711](https://jira.mariadb.org/browse/MXS-711) relate to this.
## Limitations with MySQL Protocol support ## Limitations with MySQL Protocol support (MySQLClient)
Compression is not included in MySQL server handshake Compression is not included in MySQL server handshake
## Limitations with Galera Cluster Monitoring ## Limitations with Galera Cluster Monitoring (galeramon)
The default master selection is based only on MIN(wsrep_local_index). This The default master selection is based only on MIN(wsrep_local_index). This
can be influenced with the server priority mechanic described in the can be influenced with the server priority mechanic described in the
[Galera Monitor](../Monitors/Galera-Monitor.md) manual. [Galera Monitor](../Monitors/Galera-Monitor.md) manual.
## Limitations in the connection router ## Limitations in the connection router (readconnroute)
* If Master changes (ie. new Master promotion) during current connection * If Master changes (ie. new Master promotion) during current connection
the router cannot check the change. the router cannot check the change.
* Sending of binary data with LOAD DATA LOCAL INFILE is not supported * Sending of binary data with LOAD DATA LOCAL INFILE is not supported
## Limitations in the Read/Write Splitter ## Limitations in the Read/Write Splitter (readwritesplit)
Read queries are routed to the master server in the following situations: Read queries are routed to the master server in the following situations:
@ -56,6 +56,20 @@ Read queries are routed to the master server in the following situations:
* if there are multiple statements inside one query e.g. * if there are multiple statements inside one query e.g.
`INSERT INTO ... ; SELECT LAST_INSERT_ID();` `INSERT INTO ... ; SELECT LAST_INSERT_ID();`
### Backend write timeout handling
The backend connections opened by the readwritesplit will not be kept alive if
they aren't used. To keep all of the connections alive, a session command must
be periodically executed (for example `SET @a = 1;`).
If the backend server is configured with a low
[wait_timeout](https://mariadb.com/kb/en/mariadb/server-system-variables/#wait_timeout),
it is possible that connections get closed during long sessions. It is
recommended to set the wait_timeout to a high value and let MaxScale handle the
client timeouts. This can be achieved by using the
[_connection_timeout_](../Getting-Started/Configuration-Guide.md#connection_timeout)
parameter for the service.
### Limitations in multi-statement handling ### Limitations in multi-statement handling
When a multi-statement query is executed through the readwritesplit When a multi-statement query is executed through the readwritesplit
@ -177,7 +191,7 @@ possible that a slave fails to execute something because of some
non-fatal, temporary failure, while the execution of the same command non-fatal, temporary failure, while the execution of the same command
succeeds in other backends. succeeds in other backends.
## Authentication Related Limitations ## Authentication Related Limitations (MySQLAuth)
* MariaDB MaxScale can not manage authentication that uses wildcard matching in hostnames * MariaDB MaxScale can not manage authentication that uses wildcard matching in hostnames
in the mysql.user table of the backend database. The only wildcards that can be in the mysql.user table of the backend database. The only wildcards that can be
@ -191,7 +205,7 @@ succeeds in other backends.
backend database. This results in failed connections and unusable usernames backend database. This results in failed connections and unusable usernames
in MariaDB MaxScale. in MariaDB MaxScale.
## Schemarouter limitations ## Schemarouter limitations (schemarouter)
The schemarouter router currently has some limitations due to the nature of The schemarouter router currently has some limitations due to the nature of
the sharding implementation and the way the session variables are detected the sharding implementation and the way the session variables are detected
@ -220,12 +234,12 @@ and routed. Here is a list of the current limitations.
the query will be routed to the first available server. This possibly the query will be routed to the first available server. This possibly
returns an error about database rights instead of a missing database. returns an error about database rights instead of a missing database.
## Dbfwfilter limitations ## Database Firewall limitations (dbfwfilter)
The Database Firewall filter does not support multi-statements. Using them The Database Firewall filter does not support multi-statements. Using them
will result in an error being sent to the client. will result in an error being sent to the client.
## Avrorouter limitations ## Avrorouter limitations (avrorouter)
The avrorouter does not support the following data types and conversions. The avrorouter does not support the following data types and conversions.