MXS-852: Update readwritesplit limitations
Updated limitations with notes about parallel execution of binary protocol prepared statements. Remove limitations that have been lifted in 2.2.
This commit is contained in:
@ -124,7 +124,6 @@ Sending of binary data with `LOAD DATA LOCAL INFILE` is not supported.
|
|||||||
Read queries are routed to the master server in the following situations:
|
Read queries are routed to the master server in the following situations:
|
||||||
|
|
||||||
* query is executed inside an open transaction
|
* query is executed inside an open transaction
|
||||||
* query is a prepared statement
|
|
||||||
* statement includes a stored procedure or an UDF call
|
* statement includes a stored procedure or an UDF call
|
||||||
* if there are multiple statements inside one query e.g. `INSERT INTO ... ; SELECT
|
* if there are multiple statements inside one query e.g. `INSERT INTO ... ; SELECT
|
||||||
LAST_INSERT_ID();`
|
LAST_INSERT_ID();`
|
||||||
@ -140,19 +139,14 @@ requests without waiting for the protocol to be idle. If you are using the
|
|||||||
MariaDB Connector/J, add `useBatchMultiSend=false` to the JDBC connection string
|
MariaDB Connector/J, add `useBatchMultiSend=false` to the JDBC connection string
|
||||||
to disable batched statement execution.
|
to disable batched statement execution.
|
||||||
|
|
||||||
#### Backend write timeout handling
|
#### Prepared Statement Limitations
|
||||||
|
|
||||||
The backend connections opened by readwritesplit will not be kept alive if they
|
Readwritesplit does not support the parallel execution of binary protocol
|
||||||
aren't used. To keep all of the connections alive, a session command must be
|
prepared statements that use cursors. In practice this means that only one
|
||||||
periodically executed (for example `SET @a = 1;`).
|
open cursor is allowed when readwritesplit is used.
|
||||||
|
|
||||||
If the backend server is configured with a low
|
Opening more than one cursor will cause the execution of the prepared
|
||||||
[wait_timeout](https://mariadb.com/kb/en/mariadb/server-system-variables/#wait_timeout),
|
statements to stall.
|
||||||
it is possible that connections get closed during long sessions. It is
|
|
||||||
recommended to set the `wait_timeout` to a high value and let MariaDB 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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user