Fix replication lag calculation in readwritesplit

The value used to represent the lack of a configured replication lag was
different than was used in other parts of MaxScale.
This commit is contained in:
Markus Mäkelä
2019-03-13 10:41:33 +02:00
parent 3eef2648e1
commit 109702ee72
2 changed files with 2 additions and 6 deletions

View File

@ -738,17 +738,13 @@ RWBackend* RWSplitSession::get_target_backend(backend_type_t btype,
*/ */
int RWSplitSession::get_max_replication_lag() int RWSplitSession::get_max_replication_lag()
{ {
int conf_max_rlag; int conf_max_rlag = SERVER::RLAG_UNDEFINED;
/** if there is no configured value, then longest possible int is used */ /** if there is no configured value, then longest possible int is used */
if (m_config.max_slave_replication_lag > 0) if (m_config.max_slave_replication_lag > 0)
{ {
conf_max_rlag = m_config.max_slave_replication_lag; conf_max_rlag = m_config.max_slave_replication_lag;
} }
else
{
conf_max_rlag = ~(1 << 31);
}
return conf_max_rlag; return conf_max_rlag;
} }

View File

@ -265,7 +265,7 @@ RWBackend* RWSplitSession::get_slave_backend(int max_rlag)
} }
} }
if (max_rlag > 0) if (max_rlag != SERVER::RLAG_UNDEFINED)
{ {
auto state = rlag_ok ? SERVER::RLagState::ABOVE_LIMIT : SERVER::RLagState::BELOW_LIMIT; auto state = rlag_ok ? SERVER::RLagState::ABOVE_LIMIT : SERVER::RLagState::BELOW_LIMIT;
backend->change_rlag_state(state, max_rlag); backend->change_rlag_state(state, max_rlag);