MXS-917: Only log an error if the master is in use

When the readwritesplit can't locate the master server when it's checking
the list of available servers, it logs an error if the original master
reference isn't in a valid state. This error should only be logged if the
server is in use but in an unexpected state.
This commit is contained in:
Markus Makela
2016-10-17 06:54:37 +03:00
parent c470813762
commit b50e794be7

View File

@ -4944,13 +4944,11 @@ static backend_ref_t *get_root_master_bref(ROUTER_CLIENT_SES *rses)
} }
} }
if (candidate_bref == NULL && rses->rses_config.rw_master_failure_mode == RW_FAIL_INSTANTLY) if (candidate_bref == NULL && rses->rses_config.rw_master_failure_mode == RW_FAIL_INSTANTLY &&
rses->rses_master_ref && BREF_IS_IN_USE(rses->rses_master_ref))
{ {
MXS_ERROR("Could not find master among the backend " MXS_ERROR("Could not find master among the backend servers. "
"servers. Previous master's state : %s", "Previous master's state : %s", STRSRVSTATUS(&master));
rses->rses_master_ref == NULL ? "No master found" :
(!BREF_IS_IN_USE(rses->rses_master_ref) ? "Master is not in use" :
STRSRVSTATUS(&master)));
} }
return candidate_bref; return candidate_bref;