Completion to fix for http://bugs.skysql.com/show_bug.cgi?id=547
server.h:added macro SERVER_IS_ROOT_MASTER for finding valid candidate for root master readwritesplit.c: wrote open three if conditions in get_root_master_bref for clarity
This commit is contained in:
@ -4382,13 +4382,17 @@ static backend_ref_t* get_root_master_bref(
|
||||
|
||||
while (i<rses->rses_nbackends)
|
||||
{
|
||||
if (SERVER_IS_MASTER(bref->bref_backend->backend_server))
|
||||
if ((bref->bref_backend->backend_server->status &
|
||||
(SERVER_MASTER|SERVER_MAINT)) == SERVER_MASTER)
|
||||
{
|
||||
if (candidate_bref == NULL ||
|
||||
(bref->bref_backend->backend_server->depth <
|
||||
candidate_bref->bref_backend->backend_server->depth))
|
||||
if (bref->bref_backend->backend_server->status & SERVER_MASTER)
|
||||
{
|
||||
candidate_bref = bref;
|
||||
if (candidate_bref == NULL ||
|
||||
(bref->bref_backend->backend_server->depth <
|
||||
candidate_bref->bref_backend->backend_server->depth))
|
||||
{
|
||||
candidate_bref = bref;
|
||||
}
|
||||
}
|
||||
}
|
||||
bref++;
|
||||
|
Reference in New Issue
Block a user