Merge branch '2.3' into develop

This commit is contained in:
Johan Wikman 2018-12-04 11:23:56 +02:00
commit 6c281d55e2
3 changed files with 33 additions and 4 deletions

View File

@ -76,9 +76,28 @@ taken into use by new sessions.
### `max_slave_connections`
**`max_slave_connections`** sets the maximum number of slaves a router session
uses at any moment. The default is to use all available slaves.
uses at any moment. The default is to use at most 255 slave connections per
client connection. In older versions the default was to use all available slaves
with no limit.
max_slave_connections=<max. number, or % of available slaves>
```
max_slave_connections=<max. number, or % of available slaves>
```
For example, if you have configured MaxScale with one master and three slaves
and set `max_slave_connections=2`, for each client connection a connection to
the master and two slave connections would be opened. The read query load
balancing is then done between these two slaves and writes are sent to the
master.
By tuning this parameter, you can control how dynamic the load balancing is at
the cost of extra created connections. With a lower value of
`max_slave_connections`, less connections per session are created and the set of
possible slave servers is smaller. With a higher value in
`max_slave_connections`, more connections are created which requires more
resources but load balancing will almost always give the best single query
response time and performance. Longer sessions are less affected by a high
`max_slave_connections` as the relative cost of opening a connection is lower.
### `max_slave_replication_lag`

View File

@ -829,6 +829,7 @@ static uint32_t resolve_query_type(parsing_info_t* pi, THD* thd)
}
else if (lex->option_type == OPT_SESSION)
{
bool do_return = true;
/**
* SHOW syntax http://dev.mysql.com/doc/refman/5.6/en/show.html
*/
@ -872,10 +873,16 @@ static uint32_t resolve_query_type(parsing_info_t* pi, THD* thd)
}
else
{
type |= QUERY_TYPE_READ;
// This will cause the type of a statement like
// "SET STATEMENT ... FOR XYZ" to be the type
// of XYZ.
do_return = false;
}
goto return_qtype;
if (do_return)
{
goto return_qtype;
}
}
/**

View File

@ -112,3 +112,6 @@ SET STATEMENT max_statement_time=30 FOR SELECT seq FROM seq_0_to_100000;
# MXS-1935
PREPARE a FROM @sql;
# MXS-2207
SET STATEMENT max_statement_time=30 FOR UPDATE tbl SET a = 42;