Turn server status macros to functions

This commit is contained in:
Esa Korhonen
2018-07-23 15:53:10 +03:00
parent b421e56d1c
commit fbce38878b
19 changed files with 121 additions and 87 deletions

View File

@ -84,7 +84,7 @@ HintRouterSession* HintRouter::newSession(MXS_SESSION *pSession)
{
if (SERVER_REF_IS_ACTIVE(pSref))
{
if (SERVER_IS_MASTER(pSref->server))
if (server_is_master(pSref->server))
{
if (!master_ref)
{
@ -95,7 +95,7 @@ HintRouterSession* HintRouter::newSession(MXS_SESSION *pSession)
MXS_WARNING("Found multiple master servers when creating session.\n");
}
}
else if (SERVER_IS_SLAVE(pSref->server))
else if (server_is_slave(pSref->server))
{
slave_refs.push_back(pSref);
}

View File

@ -203,7 +203,7 @@ bool HintRouterSession::route_by_hint(GWBUF* pPacket, HINT* hint, bool print_err
{
bool master_ok = false;
// The master server should be already known, but may have changed
if (m_master.get() && SERVER_IS_MASTER(m_master.server()))
if (m_master.get() && server_is_master(m_master.server()))
{
master_ok = true;
}
@ -315,7 +315,7 @@ bool HintRouterSession::route_to_slave(GWBUF* pPacket, bool print_errors)
for (size_type curr = begin; curr != limit; curr++)
{
Dcb& candidate = m_slaves.at(curr % size);
if (SERVER_IS_SLAVE(candidate.server()))
if (server_is_slave(candidate.server()))
{
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name);
success = candidate.write(pPacket);
@ -390,7 +390,7 @@ void HintRouterSession::update_connections()
iter != m_backends.end(); iter++)
{
SERVER* server = iter->second.get()->server;
if (SERVER_IS_MASTER(server))
if (server_is_master(server))
{
if (!m_master.get())
{
@ -401,7 +401,7 @@ void HintRouterSession::update_connections()
MXS_WARNING("Found multiple master servers when updating connections.");
}
}
else if (SERVER_IS_SLAVE(server))
else if (server_is_slave(server))
{
m_slaves.push_back(iter->second);
}

View File

@ -314,13 +314,13 @@ newSession(MXS_ROUTER *instance, MXS_SESSION *session)
*/
for (SERVER_REF *ref = inst->service->dbref; ref; ref = ref->next)
{
if (!SERVER_REF_IS_ACTIVE(ref) || SERVER_IN_MAINT(ref->server))
if (!SERVER_REF_IS_ACTIVE(ref) || server_is_in_maint(ref->server))
{
continue;
}
/* Check server status bits against bitvalue from router_options */
if (ref && SERVER_IS_RUNNING(ref->server) &&
if (ref && server_is_running(ref->server) &&
(ref->server->status & client_rses->bitmask & client_rses->bitvalue))
{
if (master_host)
@ -511,11 +511,11 @@ static void log_closed_session(mxs_mysql_cmd_t mysql_command, bool is_closed,
{
sprintf(msg, "Session is closed.");
}
else if (SERVER_IS_DOWN(ref->server))
else if (server_is_down(ref->server))
{
sprintf(msg, "Server '%s' is down.", ref->server->name);
}
else if (SERVER_IN_MAINT(ref->server))
else if (server_is_in_maint(ref->server))
{
sprintf(msg, "Server '%s' is in maintenance.", ref->server->name);
}
@ -545,7 +545,7 @@ static inline bool connection_is_valid(ROUTER_INSTANCE* inst, ROUTER_CLIENT_SES*
// 'router_options=slave' in the configuration file and there was only
// the sole master available at session creation time.
if (SERVER_IS_RUNNING(router_cli_ses->backend->server) &&
if (server_is_running(router_cli_ses->backend->server) &&
(router_cli_ses->backend->server->status & router_cli_ses->bitmask & router_cli_ses->bitvalue))
{
// Note the use of '==' and not '|'. We must use the former to exclude a
@ -855,7 +855,7 @@ static SERVER_REF *get_root_master(SERVER_REF *servers)
SERVER_REF *master_host = NULL;
for (SERVER_REF *ref = servers; ref; ref = ref->next)
{
if (ref->active && SERVER_IS_MASTER(ref->server))
if (ref->active && server_is_master(ref->server))
{
// No master found yet or this one has higher weight.
if (master_host == NULL || ref->weight > master_host->weight)

View File

@ -127,8 +127,8 @@ static const MXS_ENUM_VALUE master_failure_mode_values[] =
strncmp(s,"LEAST_CURRENT_OPERATIONS", strlen("LEAST_CURRENT_OPERATIONS")) == 0 ? \
LEAST_CURRENT_OPERATIONS : UNDEFINED_CRITERIA))))
#define BACKEND_TYPE(b) (SERVER_IS_MASTER((b)->backend_server) ? BE_MASTER : \
(SERVER_IS_SLAVE((b)->backend_server) ? BE_SLAVE : BE_UNDEFINED));
#define BACKEND_TYPE(b) (server_is_master((b)->backend_server) ? BE_MASTER : \
(server_is_slave((b)->backend_server) ? BE_SLAVE : BE_UNDEFINED));
#define MARIADB_WAIT_GTID_FUNC "MASTER_GTID_WAIT"
#define MYSQL_WAIT_GTID_FUNC "WAIT_FOR_EXECUTED_GTID_SET"

View File

@ -130,7 +130,7 @@ bool connect_backend_servers(SSRBackendList& backends, MXS_SESSION* session)
{
SERVER_REF* b = (*it)->backend();
if (SERVER_IS_RUNNING(b->server))
if (server_is_running(b->server))
{
servers_found += 1;

View File

@ -209,7 +209,7 @@ SERVER* SchemaRouterSession::resolve_query_target(GWBUF* pPacket,
/** We either don't know or don't care where this query should go */
target = get_shard_target(pPacket, type);
if (target && SERVER_IS_RUNNING(target))
if (target && server_is_running(target))
{
route_target = TARGET_NAMED_SERVER;
}
@ -236,7 +236,7 @@ SERVER* SchemaRouterSession::resolve_query_target(GWBUF* pPacket,
for (SSRBackendList::iterator it = m_backends.begin(); it != m_backends.end(); it++)
{
SERVER *server = (*it)->backend()->server;
if (SERVER_IS_RUNNING(server))
if (server_is_running(server))
{
route_target = TARGET_NAMED_SERVER;
target = server;
@ -739,7 +739,7 @@ bool SchemaRouterSession::route_session_write(GWBUF* querybuf, uint8_t command)
if (MXS_LOG_PRIORITY_IS_ENABLED(LOG_INFO))
{
MXS_INFO("Route query to %s\t%s:%d",
SERVER_IS_MASTER((*it)->backend()->server) ? "master" : "slave",
server_is_master((*it)->backend()->server) ? "master" : "slave",
(*it)->backend()->server->address,
(*it)->backend()->server->port);
}
@ -1382,7 +1382,7 @@ void SchemaRouterSession::query_databases()
for (SSRBackendList::iterator it = m_backends.begin(); it != m_backends.end(); it++)
{
if ((*it)->in_use() && !(*it)->is_closed() &
SERVER_IS_RUNNING((*it)->backend()->server))
server_is_running((*it)->backend()->server))
{
GWBUF* clone = gwbuf_clone(buffer);
MXS_ABORT_IF_NULL(clone);
@ -1524,7 +1524,7 @@ bool SchemaRouterSession::get_shard_dcb(DCB** p_dcb, char* name)
*/
if ((*it)->in_use() &&
(strncasecmp(name, b->server->name, PATH_MAX) == 0) &&
SERVER_IS_RUNNING(b->server))
server_is_running(b->server))
{
*p_dcb = (*it)->dcb();
succp = true;