diff --git a/Documentation/Routers/ReadWriteSplit.md b/Documentation/Routers/ReadWriteSplit.md index c6e5f456f..18a7aa3d4 100644 --- a/Documentation/Routers/ReadWriteSplit.md +++ b/Documentation/Routers/ReadWriteSplit.md @@ -52,7 +52,7 @@ passwd= ### `max_slave_connections` -**`max_slave_connections`** sets the maximum number of slaves a router session uses at any moment. Default value is `1`. +**`max_slave_connections`** sets the maximum number of slaves a router session uses at any moment. The default is to use all available slaves. max_slave_connections= diff --git a/server/modules/routing/readwritesplit/readwritesplit.c b/server/modules/routing/readwritesplit/readwritesplit.c index 67669d1fa..a02f46c05 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.c +++ b/server/modules/routing/readwritesplit/readwritesplit.c @@ -698,12 +698,12 @@ createInstance(SERVICE *service, char **options) router->rwsplit_config.rw_max_sescmd_history_size = 0; } - /** - * Set default value for max_slave_connections and for slave selection - * criteria. If parameter is set in config file max_slave_connections - * will be overwritten. + /** + * Set default value for max_slave_connections as 100%. This way + * LEAST_CURRENT_OPERATIONS allows us to balance evenly across all the + * configured slaves. */ - router->rwsplit_config.rw_max_slave_conn_count = CONFIG_MAX_SLAVE_CONN; + router->rwsplit_config.rw_max_slave_conn_count = nservers; if (router->rwsplit_config.rw_slave_select_criteria == UNDEFINED_CRITERIA) {