Connect to master on read if master_accept_reads is on
The master should be considered as a valid target when master_accept_reads is enabled but a connection to it has not yet been created.
This commit is contained in:
@ -658,11 +658,9 @@ RWBackend* RWSplitSession::get_slave_backend(int max_rlag)
|
|||||||
|
|
||||||
for (auto& backend : m_raw_backends)
|
for (auto& backend : m_raw_backends)
|
||||||
{
|
{
|
||||||
bool can_take_slave_into_use = backend->is_slave()
|
bool can_take_slave_into_use = !backend->in_use() && can_recover_servers()
|
||||||
&& !backend->in_use()
|
&& backend->can_connect() && counts.second < m_router->max_slave_count()
|
||||||
&& can_recover_servers()
|
&& (backend->is_slave() || (backend->is_master() && m_config.master_accept_reads));
|
||||||
&& backend->can_connect()
|
|
||||||
&& counts.second < m_router->max_slave_count();
|
|
||||||
|
|
||||||
bool master_or_slave = backend->is_master() || backend->is_slave();
|
bool master_or_slave = backend->is_master() || backend->is_slave();
|
||||||
bool is_usable = backend->in_use() || can_take_slave_into_use;
|
bool is_usable = backend->in_use() || can_take_slave_into_use;
|
||||||
|
Reference in New Issue
Block a user