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:
Markus Mäkelä 2019-03-06 16:14:38 +02:00
parent bfc874dea1
commit 18a30f05c2
No known key found for this signature in database
GPG Key ID: 72D48FCE664F7B19

View File

@ -658,11 +658,9 @@ RWBackend* RWSplitSession::get_slave_backend(int max_rlag)
for (auto& backend : m_raw_backends)
{
bool can_take_slave_into_use = backend->is_slave()
&& !backend->in_use()
&& can_recover_servers()
&& backend->can_connect()
&& counts.second < m_router->max_slave_count();
bool can_take_slave_into_use = !backend->in_use() && can_recover_servers()
&& backend->can_connect() && counts.second < m_router->max_slave_count()
&& (backend->is_slave() || (backend->is_master() && m_config.master_accept_reads));
bool master_or_slave = backend->is_master() || backend->is_slave();
bool is_usable = backend->in_use() || can_take_slave_into_use;