MXS-1585: Check that the master refence is in use

The check for the current master backend did not see if the backend was
actually in use. This would be the case when the backend would be
originally in use but would be later disabled.
This commit is contained in:
Markus Mäkelä 2017-12-29 10:05:19 +02:00
parent b543f37a11
commit a46881c0cc

View File

@ -1157,7 +1157,8 @@ static void log_master_routing_failure(ROUTER_CLIENT_SES *rses, bool found,
bool handle_master_is_target(ROUTER_INSTANCE *inst, ROUTER_CLIENT_SES *rses,
DCB **target_dcb)
{
DCB *master_dcb = rses->rses_master_ref ? rses->rses_master_ref->bref_dcb : NULL;
DCB *master_dcb = rses->rses_master_ref && BREF_IS_IN_USE(rses->rses_master_ref) ?
rses->rses_master_ref->bref_dcb : NULL;
DCB *curr_master_dcb = NULL;
bool succp = rwsplit_get_dcb(&curr_master_dcb, rses, BE_MASTER, NULL, MAX_RLAG_UNDEFINED);