Cleanup SERVER struct

Removed one unused field. Rearranged others, clarified comments.
This commit is contained in:
Esa Korhonen 2018-04-26 15:29:41 +03:00
parent ba4700a983
commit 5d010ff712
41 changed files with 301 additions and 297 deletions

View File

@ -264,7 +264,7 @@ int RRRouter::route_query(RRRouterSession* rses, GWBUF* querybuf)
if (print)
{
MXS_NOTICE("Routing statement of length %du to backend '%s'.",
gwbuf_length(querybuf), target->server->unique_name);
gwbuf_length(querybuf), target->server->name);
}
/* Do not use dcb_write() to output to a dcb. dcb_write() is used only
* for raw write in the procol modules. */

View File

@ -309,7 +309,7 @@ public:
*/
inline const char* name() const
{
return m_backend->server->unique_name;
return m_backend->server->name;
}
/**

View File

@ -108,47 +108,51 @@ typedef struct server
#if defined(SS_DEBUG)
skygw_chk_t server_chk_top;
#endif
SPINLOCK lock; /**< Common access lock */
char *unique_name; /**< Unique name for the server */
char name[MAX_SERVER_ADDRESS_LEN]; /**< Server name/IP address*/
unsigned short port; /**< Port to listen on */
char *protocol; /**< Protocol module to use */
// Base settings
char *name; /**< Server config name */
char address[MAX_SERVER_ADDRESS_LEN]; /**< Server hostname/IP-address */
unsigned short port; /**< Server port */
char *protocol; /**< Backend protocol module name */
char *authenticator; /**< Authenticator module name */
void *auth_instance; /**< Authenticator instance */
char *auth_options; /**< Authenticator options */
SSL_LISTENER *server_ssl; /**< SSL data structure for server, if any */
uint64_t status; /**< Status flag bitmap for the server */
uint64_t status_pending; /**< Pending status flag bitmap for the server */
char monuser[MAX_SERVER_MONUSER_LEN]; /**< User name to use to monitor the db */
char monpw[MAX_SERVER_MONPW_LEN]; /**< Password to use to monitor the db */
SERVER_STATS stats; /**< The server statistics */
struct server *next; /**< Next server */
struct server *nextdb; /**< Next server in list attached to a service */
char version_string[MAX_SERVER_VERSION_LEN]; /**< Server version string, i.e. MySQL server version */
uint64_t version; /**< Server version */
server_type_t server_type; /**< Server type */
// Other settings
char monuser[MAX_SERVER_MONUSER_LEN]; /**< Monitor username, overrides monitor setting */
char monpw[MAX_SERVER_MONPW_LEN]; /**< Monitor password, overrides monitor setting */
long persistpoolmax; /**< Maximum size of persistent connections pool */
long persistmaxtime; /**< Maximum number of seconds connection can live */
bool proxy_protocol; /**< Send proxy-protocol header to backends when connecting
* routing sessions. */
SERVER_PARAM *parameters; /**< Additional custom parameters which may affect routing decisions. */
// Base variables
SPINLOCK lock; /**< Access lock. Required when modifying server status or settings. */
struct server *next; /**< Next server in global server list */
bool is_active; /**< Server is active and has not been "destroyed" */
void *auth_instance; /**< Authenticator instance data */
SSL_LISTENER *server_ssl; /**< SSL data */
DCB **persistent; /**< List of unused persistent connections to the server */
uint8_t charset; /**< Server character set. Read from backend and sent to client. */
// Statistics and events
SERVER_STATS stats; /**< The server statistics, e.g. number of connections */
int persistmax; /**< Maximum pool size actually achieved since startup */
int last_event; /**< The last event that occurred on this server */
int64_t triggered_at; /**< Time when the last event was triggered */
bool active_event; /**< Was MaxScale active when last event was observed */
// Values updated mainly by monitor
uint64_t status; /**< Current status flag bitmap */
uint64_t status_pending; /**< Temporary status, usually written to current status once ready */
char version_string[MAX_SERVER_VERSION_LEN]; /**< Server version string as given by backend */
uint64_t version; /**< Server version numeric representation */
server_type_t server_type; /**< Server type (MariaDB or MySQL), deduced from version string */
long node_id; /**< Node id, server_id for M/S or local_index for Galera */
int rlag; /**< Replication Lag for Master / Slave replication */
int rlag; /**< Replication Lag for Master/Slave replication */
unsigned long node_ts; /**< Last timestamp set from M/S monitor module */
SERVER_PARAM *parameters; /**< Parameters of a server that may be used to weight routing decisions */
long master_id; /**< Master server id of this node */
int depth; /**< Replication level in the tree */
long slaves[MAX_NUM_SLAVES]; /**< Slaves of this node */
bool master_err_is_logged; /*< If node failed, this indicates whether it is logged */
DCB **persistent; /**< List of unused persistent connections to the server */
long persistpoolmax; /**< Maximum size of persistent connections pool */
long persistmaxtime; /**< Maximum number of seconds connection can live */
int persistmax; /**< Maximum pool size actually achieved since startup */
uint8_t charset; /**< Default server character set */
bool is_active; /**< Server is active and has not been "destroyed" */
bool proxy_protocol; /**< Send proxy-protocol header to backend when connecting client sessions. */
int last_event; /**< The last event that occurred on this server */
bool active_event; /**< Event observed when MaxScale was active */
int64_t triggered_at; /**< Time when the last event was triggered */
struct
{
bool ssl_not_enabled; /**< SSL not used for an SSL enabled server */
} log_warning; /**< Whether a specific warning was logged */
// Misc fields
char *auth_options; /**< Authenticator options, not used. TODO: Remove. */
bool master_err_is_logged; /**< If node failed, this indicates whether it is logged. Only used
* by rwsplit. TODO: Move to rwsplit */
bool warn_ssl_not_enabled; /**< SSL not used for an SSL enabled server */
#if defined(SS_DEBUG)
skygw_chk_t server_chk_tail;
#endif

View File

@ -27,7 +27,7 @@ Backend::Backend(SERVER_REF *ref):
m_state(0)
{
std::stringstream ss;
ss << "[" << server()->name << "]:" << server()->port;
ss << "[" << server()->address << "]:" << server()->port;
m_uri = ss.str();
}

View File

@ -3176,7 +3176,7 @@ int create_new_server(CONFIG_CONTEXT *obj)
if (*endptr != '\0' || persistpoolmax < 0)
{
MXS_ERROR("Invalid value for 'persistpoolmax' for server %s: %s",
server->unique_name, poolmax);
server->name, poolmax);
error_count++;
}
else
@ -3192,7 +3192,7 @@ int create_new_server(CONFIG_CONTEXT *obj)
if (*endptr != '\0' || persistmaxtime < 0)
{
MXS_ERROR("Invalid value for 'persistmaxtime' for server %s: %s",
server->unique_name, persistmax);
server->name, persistmax);
error_count++;
}
else
@ -3216,7 +3216,7 @@ int create_new_server(CONFIG_CONTEXT *obj)
else
{
MXS_ERROR("Invalid value for '%s' for server %s: %s",
CN_PROXY_PROTOCOL, server->unique_name, proxy_protocol);
CN_PROXY_PROTOCOL, server->name, proxy_protocol);
error_count++;
}
}

View File

@ -79,7 +79,7 @@ bool runtime_link_server(SERVER *server, const char *target)
else
{
runtime_error("Service '%s' already uses server '%s'",
service->name, server->unique_name);
service->name, server->name);
}
}
else if (monitor)
@ -91,14 +91,14 @@ bool runtime_link_server(SERVER *server, const char *target)
}
else
{
runtime_error("Server '%s' is already monitored", server->unique_name);
runtime_error("Server '%s' is already monitored", server->name);
}
}
if (rval)
{
const char *type = service ? "service" : "monitor";
MXS_NOTICE("Added server '%s' to %s '%s'", server->unique_name, type, target);
MXS_NOTICE("Added server '%s' to %s '%s'", server->name, type, target);
}
spinlock_release(&crt_lock);
@ -129,7 +129,7 @@ bool runtime_unlink_server(SERVER *server, const char *target)
}
const char *type = service ? "service" : "monitor";
MXS_NOTICE("Removed server '%s' from %s '%s'", server->unique_name, type, target);
MXS_NOTICE("Removed server '%s' from %s '%s'", server->name, type, target);
}
spinlock_release(&crt_lock);
@ -181,8 +181,8 @@ bool runtime_create_server(const char *name, const char *address, const char *po
if (server && server_serialize(server))
{
rval = true;
MXS_NOTICE("Created server '%s' at %s:%u", server->unique_name,
server->name, server->port);
MXS_NOTICE("Created server '%s' at %s:%u", server->name,
server->address, server->port);
}
else
{
@ -207,14 +207,14 @@ bool runtime_destroy_server(SERVER *server)
{
const char* err = "Cannot destroy server '%s' as it is used by at least "
"one service or monitor";
runtime_error(err, server->unique_name);
MXS_ERROR(err, server->unique_name);
runtime_error(err, server->name);
MXS_ERROR(err, server->name);
}
else
{
char filename[PATH_MAX];
snprintf(filename, sizeof(filename), "%s/%s.cnf", get_config_persistdir(),
server->unique_name);
server->name);
if (unlink(filename) == -1)
{
@ -228,7 +228,7 @@ bool runtime_destroy_server(SERVER *server)
rval = true;
MXS_WARNING("Server '%s' was not created at runtime. Remove the "
"server manually from the correct configuration file.",
server->unique_name);
server->name);
}
}
else
@ -238,8 +238,8 @@ bool runtime_destroy_server(SERVER *server)
if (rval)
{
MXS_NOTICE("Destroyed server '%s' at %s:%u", server->unique_name,
server->name, server->port);
MXS_NOTICE("Destroyed server '%s' at %s:%u", server->name,
server->address, server->port);
server->is_active = false;
}
}
@ -286,7 +286,7 @@ bool runtime_enable_server_ssl(SERVER *server, const char *key, const char *cert
if (key && cert && ca)
{
spinlock_acquire(&crt_lock);
SSL_LISTENER *ssl = create_ssl(server->unique_name, key, cert, ca, version, depth);
SSL_LISTENER *ssl = create_ssl(server->name, key, cert, ca, version, depth);
if (ssl)
{
@ -300,7 +300,7 @@ bool runtime_enable_server_ssl(SERVER *server, const char *key, const char *cert
if (server_serialize(server))
{
MXS_NOTICE("Enabled SSL for server '%s'", server->unique_name);
MXS_NOTICE("Enabled SSL for server '%s'", server->name);
rval = true;
}
}
@ -406,7 +406,7 @@ bool runtime_alter_server(SERVER *server, const char *key, const char *value)
{
if (server_serialize(server))
{
MXS_NOTICE("Updated server '%s': %s=%s", server->unique_name, key, value);
MXS_NOTICE("Updated server '%s': %s=%s", server->name, key, value);
}
}
else
@ -1286,7 +1286,7 @@ static bool process_ssl_parameters(SERVER* server, json_t* params)
if (!runtime_enable_server_ssl(server, key, cert, ca, version, depth))
{
runtime_error("Failed to initialize SSL for server '%s'. See "
"error log for more details.", server->unique_name);
"error log for more details.", server->name);
rval = false;
}
}

View File

@ -460,7 +460,7 @@ dcb_connect(SERVER *server, MXS_SESSION *session, const char *protocol)
if (fd == DCBFD_CLOSED)
{
MXS_DEBUG("Failed to connect to server [%s]:%d, from backend dcb %p, client dcp %p fd %d",
server->name, server->port, dcb, session->client_dcb, session->client_dcb->fd);
server->address, server->port, dcb, session->client_dcb, session->client_dcb->fd);
// Remove the inc ref that was done in session_link_backend_dcb().
session_put_ref(dcb->session);
dcb->session = NULL;
@ -470,7 +470,7 @@ dcb_connect(SERVER *server, MXS_SESSION *session, const char *protocol)
else
{
MXS_DEBUG("Connected to server [%s]:%d, from backend dcb %p, client dcp %p fd %d.",
server->name, server->port, dcb, session->client_dcb, session->client_dcb->fd);
server->address, server->port, dcb, session->client_dcb, session->client_dcb->fd);
}
/**
* Successfully connected to backend. Assign file descriptor to dcb
@ -1063,7 +1063,7 @@ static void log_illegal_dcb(DCB *dcb)
switch (dcb->dcb_role)
{
case DCB_ROLE_BACKEND_HANDLER:
connected_to = dcb->server->unique_name;
connected_to = dcb->server->name;
break;
case DCB_ROLE_CLIENT_HANDLER:
@ -1470,10 +1470,10 @@ dprintOneDCB(DCB *pdcb, DCB *dcb)
}
if (dcb->server)
{
if (dcb->server->name)
if (dcb->server->address)
{
dcb_printf(pdcb, "\tServer name/IP: %s\n",
dcb->server->name);
dcb->server->address);
}
if (dcb->server->port)
{

View File

@ -311,7 +311,7 @@ bool monitorAddServer(MXS_MONITOR *mon, SERVER *server)
if (monitor_server_in_use(server))
{
MXS_ERROR("Server '%s' is already monitored.", server->unique_name);
MXS_ERROR("Server '%s' is already monitored.", server->name);
}
else
{
@ -529,7 +529,7 @@ monitorShow(DCB *dcb, MXS_MONITOR *monitor)
for (MXS_MONITORED_SERVER *db = monitor->monitored_servers; db; db = db->next)
{
dcb_printf(dcb, "%s[%s]:%d", sep, db->server->name, db->server->port);
dcb_printf(dcb, "%s[%s]:%d", sep, db->server->address, db->server->port);
sep = ", ";
}
@ -798,7 +798,7 @@ bool check_monitor_permissions(MXS_MONITOR* monitor, const char* query)
{
MXS_ERROR("[%s] Failed to connect to server '%s' ([%s]:%d) when"
" checking monitor user credentials and permissions: %s",
monitor->name, mondb->server->unique_name, mondb->server->name,
monitor->name, mondb->server->name, mondb->server->address,
mondb->server->port, mysql_error(mondb->con));
switch (mysql_errno(mondb->con))
{
@ -1135,7 +1135,7 @@ static void mon_append_node_names(MXS_MONITOR* mon,
{
if (approach == CREDENTIALS_EXCLUDE)
{
snprintf(arr, sizeof(arr), "%s[%s]:%d", separator, servers->server->name,
snprintf(arr, sizeof(arr), "%s[%s]:%d", separator, servers->server->address,
servers->server->port);
}
else
@ -1157,7 +1157,7 @@ static void mon_append_node_names(MXS_MONITOR* mon,
separator,
user,
password,
servers->server->name,
servers->server->address,
servers->server->port);
}
@ -1257,7 +1257,7 @@ static std::string child_nodes(MXS_MONITORED_SERVER* servers,
ss << ",";
}
ss << "[" << node->server->name << "]:" << node->server->port;
ss << "[" << node->server->address << "]:" << node->server->port;
have_content = true;
}
}
@ -1270,8 +1270,8 @@ int monitor_launch_command(MXS_MONITOR* mon, MXS_MONITORED_SERVER* ptr, EXTERNCM
{
if (externcmd_matches(cmd, "$INITIATOR"))
{
char initiator[strlen(ptr->server->name) + 24]; // Extra space for port
snprintf(initiator, sizeof(initiator), "[%s]:%d", ptr->server->name, ptr->server->port);
char initiator[strlen(ptr->server->address) + 24]; // Extra space for port
snprintf(initiator, sizeof(initiator), "[%s]:%d", ptr->server->address, ptr->server->port);
externcmd_substitute_arg(cmd, "[$]INITIATOR", initiator);
}
@ -1282,7 +1282,7 @@ int monitor_launch_command(MXS_MONITOR* mon, MXS_MONITORED_SERVER* ptr, EXTERNCM
if (parent)
{
ss << "[" << parent->server->name << "]:" << parent->server->port;
ss << "[" << parent->server->address << "]:" << parent->server->port;
}
externcmd_substitute_arg(cmd, "[$]PARENT", ss.str().c_str());
}
@ -1505,7 +1505,7 @@ mon_log_connect_error(MXS_MONITORED_SERVER* database, mxs_connect_result_t rval)
MXS_ERROR(rval == MONITOR_CONN_TIMEOUT ?
"Monitor timed out when connecting to server [%s]:%d : \"%s\"" :
"Monitor was unable to connect to server [%s]:%d : \"%s\"",
database->server->name, database->server->port,
database->server->address, database->server->port,
mysql_error(database->con));
}
@ -1516,7 +1516,7 @@ static void mon_log_state_change(MXS_MONITORED_SERVER *ptr)
char *prev = server_status(&srv);
char *next = server_status(ptr->server);
MXS_NOTICE("Server changed state: %s[%s:%u]: %s. [%s] -> [%s]",
ptr->server->unique_name, ptr->server->name, ptr->server->port,
ptr->server->name, ptr->server->address, ptr->server->port,
mon_get_event_name(ptr), prev, next);
MXS_FREE(prev);
MXS_FREE(next);
@ -1586,7 +1586,7 @@ static bool create_monitor_config(const MXS_MONITOR *monitor, const char *filena
{
dprintf(file, ",");
}
dprintf(file, "%s", db->server->unique_name);
dprintf(file, "%s", db->server->name);
}
dprintf(file, "\n");
}
@ -1676,7 +1676,7 @@ void mon_hangup_failed_servers(MXS_MONITOR *monitor)
void mon_report_query_error(MXS_MONITORED_SERVER* db)
{
MXS_ERROR("Failed to execute query on server '%s' ([%s]:%d): %s",
db->server->unique_name, db->server->name,
db->server->name, db->server->address,
db->server->port, mysql_error(db->con));
}
@ -1871,7 +1871,7 @@ json_t* monitor_json_data(const MXS_MONITOR* monitor, const char* host)
for (MXS_MONITORED_SERVER *db = monitor->monitored_servers; db; db = db->next)
{
mxs_json_add_relation(mon_rel, db->server->unique_name, CN_SERVERS);
mxs_json_add_relation(mon_rel, db->server->name, CN_SERVERS);
}
json_object_set_new(rel, CN_SERVERS, mon_rel);
@ -2044,8 +2044,8 @@ static void store_data(MXS_MONITOR *monitor, MXS_MONITORED_SERVER *master, uint8
for (MXS_MONITORED_SERVER* db = monitor->monitored_servers; db; db = db->next)
{
*ptr++ = (char)SVT_SERVER; // Value type
memcpy(ptr, db->server->unique_name, strlen(db->server->unique_name)); // Name of the server
ptr += strlen(db->server->unique_name);
memcpy(ptr, db->server->name, strlen(db->server->name)); // Name of the server
ptr += strlen(db->server->name);
*ptr++ = '\0'; // Null-terminate the string
uint32_t status = db->server->status; // Server status as 4 byte integer
@ -2057,8 +2057,8 @@ static void store_data(MXS_MONITOR *monitor, MXS_MONITORED_SERVER *master, uint8
if (master)
{
*ptr++ = (char)SVT_MASTER;
memcpy(ptr, master->server->unique_name, strlen(master->server->unique_name));
ptr += strlen(master->server->unique_name);
memcpy(ptr, master->server->name, strlen(master->server->name));
ptr += strlen(master->server->name);
*ptr++ = '\0'; // Null-terminate the string
}
@ -2129,7 +2129,7 @@ static const char* process_server(MXS_MONITOR *monitor, const char *data, const
{
for (MXS_MONITORED_SERVER* db = monitor->monitored_servers; db; db = db->next)
{
if (strcmp(db->server->unique_name, data) == 0)
if (strcmp(db->server->name, data) == 0)
{
const unsigned char *sptr = (unsigned char*)strchr(data, '\0');
ss_dassert(sptr);
@ -2159,7 +2159,7 @@ static const char* process_master(MXS_MONITOR *monitor, MXS_MONITORED_SERVER **m
{
for (MXS_MONITORED_SERVER* db = monitor->monitored_servers; db; db = db->next)
{
if (strcmp(db->server->unique_name, data) == 0)
if (strcmp(db->server->name, data) == 0)
{
*master = db;
break;
@ -2235,13 +2235,13 @@ void store_server_journal(MXS_MONITOR *monitor, MXS_MONITORED_SERVER *master)
{
/** Each server is stored as a type byte and a null-terminated string
* followed by eight byte server status. */
size += MMB_LEN_VALUE_TYPE + strlen(db->server->unique_name) + 1 + MMB_LEN_SERVER_STATUS;
size += MMB_LEN_VALUE_TYPE + strlen(db->server->name) + 1 + MMB_LEN_SERVER_STATUS;
}
if (master)
{
/** The master server name is stored as a null terminated string */
size += MMB_LEN_VALUE_TYPE + strlen(master->server->unique_name) + 1;
size += MMB_LEN_VALUE_TYPE + strlen(master->server->name) + 1;
}
/** 4 bytes for file length, 1 byte for schema version and 4 bytes for CRC32 */
@ -2451,7 +2451,7 @@ int mon_config_get_servers(const MXS_CONFIG_PARAMETER* params, const char* key,
else
{
MXS_WARNING("Server '%s' is not monitored by monitor '%s'.",
servers[i]->unique_name, mon->name);
servers[i]->name, mon->name);
}
}
MXS_FREE(servers);

View File

@ -191,7 +191,7 @@ MYSQL *mxs_mysql_real_connect(MYSQL *con, SERVER *server, const char *user, cons
}
}
MYSQL* mysql = mysql_real_connect(con, server->name, user, passwd, NULL, server->port, NULL, 0);
MYSQL* mysql = mysql_real_connect(con, server->address, user, passwd, NULL, server->port, NULL, 0);
if (mysql)
{
@ -202,12 +202,12 @@ MYSQL *mxs_mysql_real_connect(MYSQL *con, SERVER *server, const char *user, cons
if (listener && mysql_get_ssl_cipher(con) == NULL)
{
if (server->log_warning.ssl_not_enabled)
if (server->warn_ssl_not_enabled)
{
server->log_warning.ssl_not_enabled = false;
server->warn_ssl_not_enabled = false;
MXS_ERROR("An encrypted connection to '%s' could not be created, "
"ensure that TLS is enabled on the target server.",
server->unique_name);
server->name);
}
// Don't close the connection as it is closed elsewhere, just set to NULL
mysql = NULL;

View File

@ -111,17 +111,17 @@ SERVER* server_alloc(const char *name, const char *address, unsigned short port,
return NULL;
}
if (snprintf(server->name, sizeof(server->name), "%s", address) > (int)sizeof(server->name))
if (snprintf(server->address, sizeof(server->address), "%s", address) > (int)sizeof(server->address))
{
MXS_WARNING("Truncated server address '%s' to the maximum size of %lu characters.",
address, sizeof(server->name));
address, sizeof(server->address));
}
#if defined(SS_DEBUG)
server->server_chk_top = CHK_NUM_SERVER;
server->server_chk_tail = CHK_NUM_SERVER;
#endif
server->unique_name = my_name;
server->name = my_name;
server->protocol = my_protocol;
server->authenticator = my_authenticator;
server->auth_instance = auth_instance;
@ -150,7 +150,7 @@ SERVER* server_alloc(const char *name, const char *address, unsigned short port,
server->triggered_at = 0;
// Log all warnings once
memset(&server->log_warning, 1, sizeof(server->log_warning));
server->warn_ssl_not_enabled = true;
spinlock_acquire(&server_spin);
server->next = allServers;
@ -194,7 +194,7 @@ server_free(SERVER *tofreeserver)
/* Clean up session and free the memory */
MXS_FREE(tofreeserver->protocol);
MXS_FREE(tofreeserver->unique_name);
MXS_FREE(tofreeserver->name);
server_parameter_free(tofreeserver->parameters);
if (tofreeserver->persistent)
@ -301,7 +301,7 @@ SERVER * server_find_by_unique_name(const char *name)
while (server)
{
if (server->unique_name && strcmp(server->unique_name, name) == 0)
if (server->name && strcmp(server->name, name) == 0)
{
break;
}
@ -369,7 +369,7 @@ server_find(const char *servname, unsigned short port)
while (server)
{
if (strcmp(server->name, servname) == 0 && server->port == port)
if (strcmp(server->address, servname) == 0 && server->port == port)
{
break;
}
@ -390,7 +390,7 @@ void
printServer(const SERVER *server)
{
printf("Server %p\n", server);
printf("\tServer: %s\n", server->name);
printf("\tServer: %s\n", server->address);
printf("\tProtocol: %s\n", server->protocol);
printf("\tPort: %d\n", server->port);
printf("\tTotal connections: %d\n", server->stats.n_connections);
@ -502,8 +502,8 @@ dprintServer(DCB *dcb, const SERVER *server)
return;
}
dcb_printf(dcb, "Server %p (%s)\n", server, server->unique_name);
dcb_printf(dcb, "\tServer: %s\n", server->name);
dcb_printf(dcb, "Server %p (%s)\n", server, server->name);
dcb_printf(dcb, "\tServer: %s\n", server->address);
char* stat = server_status(server);
dcb_printf(dcb, "\tStatus: %s\n", stat);
MXS_FREE(stat);
@ -651,7 +651,7 @@ dListServers(DCB *dcb)
{
char *stat = server_status(server);
dcb_printf(dcb, "%-18s | %-15s | %5d | %11d | %s\n",
server->unique_name, server->name,
server->name, server->address,
server->port,
server->stats.n_current, stat);
MXS_FREE(stat);
@ -814,14 +814,14 @@ server_add_mon_user(SERVER *server, const char *user, const char *passwd)
snprintf(server->monuser, sizeof(server->monuser), "%s", user) > (int)sizeof(server->monuser))
{
MXS_WARNING("Truncated monitor user for server '%s', maximum username "
"length is %lu characters.", server->unique_name, sizeof(server->monuser));
"length is %lu characters.", server->name, sizeof(server->monuser));
}
if (passwd != server->monpw &&
snprintf(server->monpw, sizeof(server->monpw), "%s", passwd) > (int)sizeof(server->monpw))
{
MXS_WARNING("Truncated monitor password for server '%s', maximum password "
"length is %lu characters.", server->unique_name, sizeof(server->monpw));
"length is %lu characters.", server->name, sizeof(server->monpw));
}
}
@ -976,8 +976,8 @@ serverRowCallback(RESULTSET *set, void *data)
if (SERVER_IS_ACTIVE(server))
{
row = resultset_make_row(set);
resultset_row_set(row, 0, server->unique_name);
resultset_row_set(row, 1, server->name);
resultset_row_set(row, 0, server->name);
resultset_row_set(row, 1, server->address);
sprintf(buf, "%d", server->port);
resultset_row_set(row, 2, buf);
sprintf(buf, "%d", server->stats.n_current);
@ -1033,7 +1033,7 @@ server_update_address(SERVER *server, const char *address)
spinlock_acquire(&server_spin);
if (server && address)
{
strcpy(server->name, address);
strcpy(server->address, address);
}
spinlock_release(&server_spin);
}
@ -1161,15 +1161,15 @@ static bool create_server_config(const SERVER *server, const char *filename)
if (file == -1)
{
MXS_ERROR("Failed to open file '%s' when serializing server '%s': %d, %s",
filename, server->unique_name, errno, mxs_strerror(errno));
filename, server->name, errno, mxs_strerror(errno));
return false;
}
// TODO: Check for return values on all of the dprintf calls
dprintf(file, "[%s]\n", server->unique_name);
dprintf(file, "[%s]\n", server->name);
dprintf(file, "%s=server\n", CN_TYPE);
dprintf(file, "%s=%s\n", CN_PROTOCOL, server->protocol);
dprintf(file, "%s=%s\n", CN_ADDRESS, server->name);
dprintf(file, "%s=%s\n", CN_ADDRESS, server->address);
dprintf(file, "%s=%u\n", CN_PORT, server->port);
dprintf(file, "%s=%s\n", CN_AUTHENTICATOR, server->authenticator);
@ -1222,7 +1222,7 @@ bool server_serialize(const SERVER *server)
bool rval = false;
char filename[PATH_MAX];
snprintf(filename, sizeof(filename), "%s/%s.cnf.tmp", get_config_persistdir(),
server->unique_name);
server->name);
if (unlink(filename) == -1 && errno != ENOENT)
{
@ -1261,7 +1261,7 @@ SERVER* server_repurpose_destroyed(const char *name, const char *protocol,
while (server)
{
CHK_SERVER(server);
if (strcmp(server->unique_name, name) == 0 &&
if (strcmp(server->name, name) == 0 &&
strcmp(server->protocol, protocol) == 0 &&
strcmp(server->authenticator, authenticator) == 0)
{
@ -1269,7 +1269,7 @@ SERVER* server_repurpose_destroyed(const char *name, const char *protocol,
(auth_options && server->auth_options &&
strcmp(server->auth_options, auth_options) == 0))
{
snprintf(server->name, sizeof(server->name), "%s", address);
snprintf(server->address, sizeof(server->address), "%s", address);
server->port = atoi(port);
server->is_active = true;
break;
@ -1345,10 +1345,10 @@ bool server_is_mxs_service(const SERVER *server)
bool rval = false;
/** Do a coarse check for local server pointing to a MaxScale service */
if (strcmp(server->name, "127.0.0.1") == 0 ||
strcmp(server->name, "::1") == 0 ||
strcmp(server->name, "localhost") == 0 ||
strcmp(server->name, "localhost.localdomain") == 0)
if (strcmp(server->address, "127.0.0.1") == 0 ||
strcmp(server->address, "::1") == 0 ||
strcmp(server->address, "localhost") == 0 ||
strcmp(server->address, "localhost.localdomain") == 0)
{
if (service_port_is_used(server->port))
{
@ -1367,7 +1367,7 @@ static json_t* server_json_attributes(const SERVER* server)
/** Store server parameters in attributes */
json_t* params = json_object();
json_object_set_new(params, CN_ADDRESS, json_string(server->name));
json_object_set_new(params, CN_ADDRESS, json_string(server->address));
json_object_set_new(params, CN_PORT, json_integer(server->port));
json_object_set_new(params, CN_PROTOCOL, json_string(server->protocol));
@ -1470,7 +1470,7 @@ static json_t* server_to_json_data(const SERVER* server, const char* host)
json_t* rval = json_object();
/** Add resource identifiers */
json_object_set_new(rval, CN_ID, json_string(server->unique_name));
json_object_set_new(rval, CN_ID, json_string(server->name));
json_object_set_new(rval, CN_TYPE, json_string(CN_SERVERS));
/** Relationships */
@ -1491,7 +1491,7 @@ static json_t* server_to_json_data(const SERVER* server, const char* host)
json_object_set_new(rval, CN_RELATIONSHIPS, rel);
/** Attributes */
json_object_set_new(rval, CN_ATTRIBUTES, server_json_attributes(server));
json_object_set_new(rval, CN_LINKS, mxs_json_self_link(host, CN_SERVERS, server->unique_name));
json_object_set_new(rval, CN_LINKS, mxs_json_self_link(host, CN_SERVERS, server->name));
return rval;
}
@ -1499,7 +1499,7 @@ static json_t* server_to_json_data(const SERVER* server, const char* host)
json_t* server_to_json(const SERVER* server, const char* host)
{
string self = MXS_JSON_API_SERVERS;
self += server->unique_name;
self += server->name;
return mxs_json_resource(host, self.c_str(), server_to_json_data(server, host));
}

View File

@ -1403,7 +1403,7 @@ printService(SERVICE *service)
printf("\tBackend databases\n");
while (ptr)
{
printf("\t\t[%s]:%d Protocol: %s\n", ptr->server->name, ptr->server->port, ptr->server->protocol);
printf("\t\t[%s]:%d Protocol: %s\n", ptr->server->address, ptr->server->port, ptr->server->protocol);
ptr = ptr->next;
}
if (service->n_filters)
@ -1517,8 +1517,8 @@ void dprintService(DCB *dcb, SERVICE *service)
if (SERVER_REF_IS_ACTIVE(server))
{
dcb_printf(dcb, "\t\t[%s]:%d Protocol: %s Name: %s\n",
server->server->name, server->server->port,
server->server->protocol, server->server->unique_name);
server->server->address, server->server->port,
server->server->protocol, server->server->name);
}
server = server->next;
}
@ -1570,11 +1570,11 @@ dListServices(DCB *dcb)
{
if (first)
{
dcb_printf(dcb, "%s", server_ref->server->unique_name);
dcb_printf(dcb, "%s", server_ref->server->name);
}
else
{
dcb_printf(dcb, ", %s", server_ref->server->unique_name);
dcb_printf(dcb, ", %s", server_ref->server->name);
}
first = false;
}
@ -2291,14 +2291,14 @@ static void service_calculate_weights(SERVICE *service)
" of %d for service '%s'. No queries will be "
"routed to this server as long as a server with"
" positive weight is available.",
weightby, wght, server->server->unique_name,
weightby, wght, server->server->name,
total, service->name);
}
else if (perc < 0)
{
MXS_ERROR("Weighting parameter '%s' for server '%s' is too large, "
"maximum value is %d. No weighting will be used for this "
"server.", weightby, server->server->unique_name,
"server.", weightby, server->server->name,
INT_MAX / SERVICE_BASE_SERVER_WEIGHT);
perc = SERVICE_BASE_SERVER_WEIGHT;
}
@ -2307,7 +2307,7 @@ static void service_calculate_weights(SERVICE *service)
else
{
MXS_WARNING("Server '%s' has no parameter '%s' used for weighting"
" for service '%s'.", server->server->unique_name,
" for service '%s'.", server->server->name,
weightby, service->name);
}
}
@ -2408,7 +2408,7 @@ static bool create_service_config(const SERVICE *service, const char *filename)
{
if (SERVER_REF_IS_ACTIVE(db))
{
dprintf(file, "%s%s", sep, db->server->unique_name);
dprintf(file, "%s%s", sep, db->server->name);
sep = ",";
}
}
@ -2708,7 +2708,7 @@ json_t* service_relationships(const SERVICE* service, const char* host)
{
if (SERVER_REF_IS_ACTIVE(ref))
{
mxs_json_add_relation(servers, ref->server->unique_name, CN_SERVERS);
mxs_json_add_relation(servers, ref->server->name, CN_SERVERS);
}
}

View File

@ -81,7 +81,7 @@ int test(bool success, const char* zHost, const char* zUser, const char* zPasswo
SERVER server;
memset(&server, 0, sizeof(server));
strcpy(server.name, zHost);
strcpy(server.address, zHost);
server.port = 3306;
MYSQL* pMysql = mysql_init(NULL);

View File

@ -123,8 +123,8 @@ bool test_load_config(const char *input, SERVER *server)
CONFIG_CONTEXT *obj = ccontext.next;
MXS_CONFIG_PARAMETER *param = obj->parameters;
TEST(strcmp(obj->object, server->unique_name) == 0, "Server names differ");
TEST(strcmp(server->name, config_get_param(param, "address")->value) == 0, "Server addresses differ");
TEST(strcmp(obj->object, server->name) == 0, "Server names differ");
TEST(strcmp(server->address, config_get_param(param, "address")->value) == 0, "Server addresses differ");
TEST(strcmp(server->protocol, config_get_param(param, "protocol")->value) == 0, "Server protocols differ");
TEST(strcmp(server->authenticator, config_get_param(param, "authenticator")->value) == 0,
"Server authenticators differ");

View File

@ -622,7 +622,7 @@ int gssapi_auth_load_users(SERV_LISTENER *listener)
if (mxs_mysql_query(mysql, gssapi_users_query))
{
MXS_ERROR("Failed to query server '%s' for GSSAPI users: %s",
servers->server->unique_name, mysql_error(mysql));
servers->server->name, mysql_error(mysql));
}
else
{

View File

@ -150,7 +150,7 @@ bool extract_principal_name(DCB *dcb, GWBUF *buffer)
* it's possible that the server authenticated us as the anonymous user. This
* means that the server is not secure. */
MXS_ERROR("Server '%s' returned an unexpected authentication response.%s",
dcb->server->unique_name, databuf[0] == MYSQL_REPLY_OK ?
dcb->server->name, databuf[0] == MYSQL_REPLY_OK ?
" Authentication was complete before it even started, "
"anonymous users might not be disabled." : "");
return false;

View File

@ -519,7 +519,7 @@ static bool check_server_permissions(SERVICE *service, SERVER* server,
MXS_ERROR("[%s] Failed to connect to server '%s' ([%s]:%d) when"
" checking authentication user credentials and permissions: %d %s",
service->name, server->unique_name, server->name, server->port,
service->name, server->name, server->address, server->port,
my_errno, mysql_error(mysql));
mysql_close(mysql);
@ -869,7 +869,7 @@ static int get_users(SERV_LISTENER *listener, bool skip_local)
{
MXS_ERROR("Failure loading users data from backend "
"[%s:%i] for service [%s]. MySQL error %i, %s",
server->server->name, server->server->port,
server->server->address, server->server->port,
service->name, mysql_errno(con), mysql_error(con));
mysql_close(con);
}

View File

@ -198,7 +198,7 @@ int PamInstance::load_users(SERVICE* service)
if (mysql_query(mysql, PAM_USERS_QUERY))
{
MXS_ERROR("Failed to query server '%s' for PAM users: '%s'.",
servers->server->unique_name, mysql_error(mysql));
servers->server->name, mysql_error(mysql));
}
else
{
@ -305,7 +305,7 @@ bool PamInstance::query_anon_proxy_user(SERVER* server, MYSQL* conn)
if (mysql_query(conn, ANON_USER_QUERY))
{
MXS_ERROR("Failed to query server '%s' for the anonymous PAM user: '%s'.",
server->unique_name, mysql_error(conn));
server->name, mysql_error(conn));
success = false;
}
else
@ -331,7 +331,7 @@ bool PamInstance::query_anon_proxy_user(SERVER* server, MYSQL* conn)
if (mysql_query(conn, ANON_GRANT_QUERY))
{
MXS_ERROR("Failed to query server '%s' for the grants of the anonymous PAM user: '%s'.",
server->unique_name, mysql_error(conn));
server->name, mysql_error(conn));
success = false;
}
else

View File

@ -48,7 +48,7 @@ bool check_auth_switch_request(DCB *dcb, GWBUF *buffer)
bool was_ok_packet = copied > MYSQL_HEADER_LEN &&
data[MYSQL_HEADER_LEN + 1] == MYSQL_REPLY_OK;
MXS_ERROR("Server '%s' returned an unexpected authentication response.%s",
dcb->server->unique_name, was_ok_packet ?
dcb->server->name, was_ok_packet ?
" Authentication was complete before it even started, "
"anonymous users might not be disabled." : "");
return false;
@ -121,7 +121,7 @@ bool PamBackendSession::extract(DCB *dcb, GWBUF *buffer)
if (mxs_mysql_is_ok_packet(buffer))
{
MXS_DEBUG("pam_backend_auth_extract received ok packet from '%s'.",
dcb->server->unique_name);
dcb->server->name);
m_state = PAM_AUTH_OK;
rval = true;
}
@ -135,7 +135,7 @@ bool PamBackendSession::extract(DCB *dcb, GWBUF *buffer)
if (!rval)
{
MXS_DEBUG("pam_backend_auth_extract to backend '%s' failed for user '%s'.",
dcb->server->unique_name, dcb->user);
dcb->server->name, dcb->user);
}
return rval;
}
@ -147,7 +147,7 @@ int PamBackendSession::authenticate(DCB *dcb)
if (m_state == PAM_AUTH_INIT)
{
MXS_DEBUG("pam_backend_auth_authenticate sending password to '%s'.",
dcb->server->unique_name);
dcb->server->name);
if (send_client_password(dcb))
{
rval = MXS_AUTH_INCOMPLETE;

View File

@ -578,7 +578,7 @@ clientReply(MXS_FILTER *instance, MXS_FILTER_SESSION *session, GWBUF *reply)
fprintf(my_instance->fp, "%ld%s%s%s%s%s%ld%s%s%s%s\n",
timestamp,
my_instance->delimiter,
reply->server->unique_name,
reply->server->name,
my_instance->delimiter,
my_session->userName,
my_instance->delimiter,

View File

@ -387,7 +387,7 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITORED_SERVER *database)
if (warn_erange_on_local_index)
{
MXS_WARNING("Invalid 'wsrep_local_index' on server '%s': %s",
database->server->unique_name, row[1]);
database->server->name, row[1]);
warn_erange_on_local_index = false;
}
local_index = -1;
@ -431,7 +431,7 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITORED_SERVER *database)
if (row[1] == NULL || !strlen(row[1]))
{
MXS_DEBUG("Node %s is not running Galera Cluster",
database->server->unique_name);
database->server->name);
info.cluster_uuid = NULL;
info.joined = 0;
}
@ -449,11 +449,11 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITORED_SERVER *database)
/* Galera Cluster vars fetch */
HASHTABLE *table = handle->galera_nodes_info;
GALERA_NODE_INFO *node = hashtable_fetch(table, database->server->unique_name);
GALERA_NODE_INFO *node = hashtable_fetch(table, database->server->name);
if (node)
{
MXS_DEBUG("Node %s is present in galera_nodes_info, updtating info",
database->server->unique_name);
database->server->name);
MXS_FREE(node->cluster_uuid);
/* Update node data */
@ -461,17 +461,17 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITORED_SERVER *database)
}
else
{
if (hashtable_add(table, database->server->unique_name, &info))
if (hashtable_add(table, database->server->name, &info))
{
MXS_DEBUG("Added %s to galera_nodes_info",
database->server->unique_name);
database->server->name);
}
/* Free the info.cluster_uuid as it's been added to the table */
MXS_FREE(info.cluster_uuid);
}
MXS_DEBUG("Server %s: local_state %d, local_index %d, UUID %s, size %d, possible member %d",
database->server->unique_name,
database->server->name,
info.local_state,
info.local_index,
info.cluster_uuid ? info.cluster_uuid : "_none_",
@ -558,7 +558,7 @@ monitorMain(void *arg)
if (mon_status_changed(ptr))
{
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->name,
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
}
@ -890,7 +890,7 @@ static void update_sst_donor_nodes(MXS_MONITOR *mon, int is_cluster)
while ((row = mysql_fetch_row(result)))
{
MXS_DEBUG("wsrep_node_name name for %s is [%s]",
ptr->server->unique_name,
ptr->server->name,
row[1]);
strncat(donor_list, row[1], DONOR_NODE_NAME_MAX_LEN);
@ -924,7 +924,7 @@ static void update_sst_donor_nodes(MXS_MONITOR *mon, int is_cluster)
if (mxs_mysql_query(ptr->con, donor_list) == 0)
{
MXS_DEBUG("SET GLOBAL rep_sst_donor OK in node %s",
ptr->server->unique_name);
ptr->server->name);
}
else
{
@ -992,20 +992,20 @@ static int compare_node_priority (const void *a, const void *b)
if (!pri_a && pri_b)
{
MXS_DEBUG("Server %s has no given priority. It will be at the beginning of the list",
s_a->server->unique_name);
s_a->server->name);
return -(INT_MAX - 1);
}
else if (pri_a && !pri_b)
{
MXS_DEBUG("Server %s has no given priority. It will be at the beginning of the list",
s_b->server->unique_name);
s_b->server->name);
return INT_MAX - 1;
}
else if (!pri_a && !pri_b)
{
MXS_DEBUG("Servers %s and %s have no given priority. They be at the beginning of the list",
s_a->server->unique_name,
s_b->server->unique_name);
s_a->server->name,
s_b->server->name);
return 0;
}
@ -1156,7 +1156,7 @@ static void set_galera_cluster(MXS_MONITOR *mon)
}
MXS_DEBUG("Candidate cluster member %s: UUID %s, joined nodes %d",
value->node->unique_name,
value->node->name,
value->cluster_uuid,
value->cluster_size);
}
@ -1216,7 +1216,7 @@ static void set_cluster_members(MXS_MONITOR *mon)
while (ptr)
{
/* Fetch cluster info for this server, if any */
value = hashtable_fetch(handle->galera_nodes_info, ptr->server->unique_name);
value = hashtable_fetch(handle->galera_nodes_info, ptr->server->name);
if (value && handle->cluster_info.c_uuid)
{

View File

@ -658,7 +658,7 @@ static bool check_replicate_ignore_table(MXS_MONITORED_SERVER* database)
{
MXS_WARNING("'replicate_ignore_table' is "
"defined on server '%s' and '%s' was found in it. ",
database->server->unique_name, HB_TABLE_NAME);
database->server->name, HB_TABLE_NAME);
rval = false;
}
}
@ -669,7 +669,7 @@ static bool check_replicate_ignore_table(MXS_MONITORED_SERVER* database)
{
MXS_ERROR("Failed to query server %s for "
"'replicate_ignore_table': %s",
database->server->unique_name,
database->server->name,
mysql_error(database->con));
rval = false;
}
@ -702,7 +702,7 @@ static bool check_replicate_do_table(MXS_MONITORED_SERVER* database)
{
MXS_WARNING("'replicate_do_table' is "
"defined on server '%s' and '%s' was not found in it. ",
database->server->unique_name, HB_TABLE_NAME);
database->server->name, HB_TABLE_NAME);
rval = false;
}
}
@ -712,7 +712,7 @@ static bool check_replicate_do_table(MXS_MONITORED_SERVER* database)
{
MXS_ERROR("Failed to query server %s for "
"'replicate_do_table': %s",
database->server->unique_name,
database->server->name,
mysql_error(database->con));
rval = false;
}
@ -747,7 +747,7 @@ static bool check_replicate_wild_do_table(MXS_MONITORED_SERVER* database)
{
MXS_WARNING("'replicate_wild_do_table' is "
"defined on server '%s' and '%s' does not match it. ",
database->server->unique_name,
database->server->name,
HB_TABLE_NAME);
rval = false;
}
@ -759,7 +759,7 @@ static bool check_replicate_wild_do_table(MXS_MONITORED_SERVER* database)
{
MXS_ERROR("Failed to query server %s for "
"'replicate_wild_do_table': %s",
database->server->unique_name,
database->server->name,
mysql_error(database->con));
rval = false;
}
@ -794,7 +794,7 @@ static bool check_replicate_wild_ignore_table(MXS_MONITORED_SERVER* database)
{
MXS_WARNING("'replicate_wild_ignore_table' is "
"defined on server '%s' and '%s' matches it. ",
database->server->unique_name,
database->server->name,
HB_TABLE_NAME);
rval = false;
}
@ -806,7 +806,7 @@ static bool check_replicate_wild_ignore_table(MXS_MONITORED_SERVER* database)
{
MXS_ERROR("Failed to query server %s for "
"'replicate_wild_do_table': %s",
database->server->unique_name,
database->server->name,
mysql_error(database->con));
rval = false;
}
@ -912,7 +912,7 @@ void MariaDBMonitor::monitor_one_server(MariaDBServer& server)
{
/** Master failed, can't recover */
MXS_NOTICE("Server [%s]:%d lost the master status.",
ptr->server->name,
ptr->server->address,
ptr->server->port);
}
}
@ -921,12 +921,12 @@ void MariaDBMonitor::monitor_one_server(MariaDBServer& server)
{
#if defined(SS_DEBUG)
MXS_INFO("Backend server [%s]:%d state : %s",
ptr->server->name,
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
#else
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->name,
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
#endif
@ -1029,7 +1029,7 @@ void MariaDBMonitor::update_server_states(MariaDBServer& db_server, MariaDBServe
* the stale master as a real master if it is the last running server.
*/
if (m_detect_stale_master && root_master && !m_detect_multimaster &&
(strcmp(ptr->server->name, root_master->server->name) == 0 &&
(strcmp(ptr->server->address, root_master->server->address) == 0 &&
ptr->server->port == root_master->server->port) &&
(ptr->server->status & SERVER_MASTER) &&
!(ptr->pending_status & SERVER_MASTER) &&
@ -1049,7 +1049,7 @@ void MariaDBMonitor::update_server_states(MariaDBServer& db_server, MariaDBServe
MXS_WARNING("All slave servers under the current master "
"server have been lost. Assigning Stale Master"
" status to the old master server '%s' (%s:%i).",
ptr->server->unique_name, ptr->server->name,
ptr->server->name, ptr->server->address,
ptr->server->port);
}
}

View File

@ -125,7 +125,7 @@ bool MariaDBMonitor::manual_rejoin(SERVER* rejoin_server, json_t** output)
bool rval = false;
if (cluster_can_be_joined())
{
const char* rejoin_serv_name = rejoin_server->unique_name;
const char* rejoin_serv_name = rejoin_server->name;
MXS_MONITORED_SERVER* mon_slave_cand = mon_get_monitored_server(m_monitor_base, rejoin_server);
if (mon_slave_cand)
{
@ -222,7 +222,7 @@ int MariaDBMonitor::redirect_slaves(MariaDBServer* new_master, const ServerArray
{
ss_dassert(redirected_slaves != NULL);
MXS_NOTICE("Redirecting slaves to new master.");
string change_cmd = generate_change_master_cmd(new_master->m_server_base->server->name,
string change_cmd = generate_change_master_cmd(new_master->m_server_base->server->address,
new_master->m_server_base->server->port);
int successes = 0;
for (auto iter = slaves.begin(); iter != slaves.end(); iter++)
@ -277,7 +277,7 @@ bool MariaDBMonitor::switchover_start_slave(MariaDBServer* old_master, MariaDBSe
MYSQL* old_master_con = old_master->m_server_base->con;
SERVER* new_master_server = new_master->m_server_base->server;
string change_cmd = generate_change_master_cmd(new_master_server->name, new_master_server->port);
string change_cmd = generate_change_master_cmd(new_master_server->address, new_master_server->port);
if (mxs_mysql_query(old_master_con, change_cmd.c_str()) == 0 &&
mxs_mysql_query(old_master_con, "START SLAVE;") == 0)
{
@ -304,11 +304,11 @@ bool MariaDBMonitor::switchover_start_slave(MariaDBServer* old_master, MariaDBSe
uint32_t MariaDBMonitor::do_rejoin(const ServerArray& joinable_servers, json_t** output)
{
SERVER* master_server = m_master->m_server_base->server;
const char* master_name = master_server->unique_name;
const char* master_name = master_server->name;
uint32_t servers_joined = 0;
if (!joinable_servers.empty())
{
string change_cmd = generate_change_master_cmd(master_server->name, master_server->port);
string change_cmd = generate_change_master_cmd(master_server->address, master_server->port);
for (auto iter = joinable_servers.begin(); iter != joinable_servers.end(); iter++)
{
MariaDBServer* joinable = *iter;
@ -431,7 +431,7 @@ bool MariaDBMonitor::server_is_rejoin_suspect(MariaDBServer* rejoin_cand, json_t
// or is disconnected but master host or port is wrong.
else if (slave_status->slave_io_running == SlaveStatus::SLAVE_IO_CONNECTING &&
slave_status->slave_sql_running &&
(slave_status->master_host != m_master->m_server_base->server->name ||
(slave_status->master_host != m_master->m_server_base->server->address ||
slave_status->master_port != m_master->m_server_base->server->port))
{
is_suspect = true;
@ -1216,12 +1216,12 @@ bool MariaDBMonitor::switchover_check_current(const MXS_MONITORED_SERVER* sugges
if (!server_is_master)
{
PRINT_MXS_JSON_ERROR(error_out, "Server '%s' is not the current master or it's in maintenance.",
suggested_curr_master->server->unique_name);
suggested_curr_master->server->name);
}
else if (extra_master)
{
PRINT_MXS_JSON_ERROR(error_out, "Cluster has an additional master server '%s'.",
extra_master->server->unique_name);
extra_master->server->name);
}
return server_is_master && !extra_master;
}
@ -1237,7 +1237,7 @@ bool MariaDBMonitor::switchover_check_current(const MXS_MONITORED_SERVER* sugges
bool MariaDBMonitor::switchover_check_new(const MXS_MONITORED_SERVER* monitored_server, json_t** error)
{
SERVER* server = monitored_server->server;
const char* name = server->unique_name;
const char* name = server->name;
bool is_master = SERVER_IS_MASTER(server);
bool is_slave = SERVER_IS_SLAVE(server);
@ -1414,7 +1414,7 @@ bool MariaDBMonitor::failover_not_possible()
if (info->m_slave_status.size() > 1)
{
MXS_ERROR("Server '%s' is configured to replicate from multiple "
"masters, failover is not possible.", s->server->unique_name);
"masters, failover is not possible.", s->server->name);
rval = true;
}
}
@ -1508,7 +1508,7 @@ bool MariaDBMonitor::switchover_check(SERVER* new_master, SERVER* current_master
if (mon_new_master == NULL)
{
new_master_ok = false;
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, new_master->unique_name, m_monitor_base->name);
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, new_master->name, m_monitor_base->name);
}
else if (!switchover_check_new(mon_new_master, error_out))
{
@ -1526,7 +1526,7 @@ bool MariaDBMonitor::switchover_check(SERVER* new_master, SERVER* current_master
if (mon_curr_master == NULL)
{
current_master_ok = false;
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, current_master->unique_name, m_monitor_base->name);
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, current_master->name, m_monitor_base->name);
}
else if (!switchover_check_current(mon_curr_master, error_out))
{

View File

@ -559,14 +559,14 @@ void MariaDBMonitor::log_master_changes(MariaDBServer* root_master_server, int*
!(root_master->server->status & SERVER_MAINT))
{
MXS_NOTICE("A Master Server is now available: %s:%i",
root_master->server->name,
root_master->server->address,
root_master->server->port);
}
}
else
{
MXS_ERROR("No Master can be determined. Last known was %s:%i",
root_master->server->name,
root_master->server->address,
root_master->server->port);
}
*log_no_master = 1;
@ -744,7 +744,7 @@ void MariaDBMonitor::set_master_heartbeat(MariaDBServer* server)
database->server->rlag = 0;
MXS_DEBUG("heartbeat table inserted data for %s:%i",
database->server->name, database->server->port);
database->server->address, database->server->port);
}
}
else
@ -753,7 +753,7 @@ void MariaDBMonitor::set_master_heartbeat(MariaDBServer* server)
database->server->rlag = 0;
MXS_DEBUG("heartbeat table updated for Master %s:%i",
database->server->name, database->server->port);
database->server->address, database->server->port);
}
}
}
@ -827,7 +827,7 @@ void MariaDBMonitor::set_slave_heartbeat(MariaDBServer* server)
}
MXS_DEBUG("Slave %s:%i has %i seconds lag",
database->server->name,
database->server->address,
database->server->port,
database->server->rlag);
}
@ -848,14 +848,14 @@ void MariaDBMonitor::set_slave_heartbeat(MariaDBServer* server)
{
MXS_ERROR("error: replication heartbeat: "
"master_server_id NOT available for %s:%i",
database->server->name,
database->server->address,
database->server->port);
}
else
{
MXS_ERROR("error: replication heartbeat: "
"failed selecting from hearthbeat table of %s:%i : [%s], %s",
database->server->name,
database->server->address,
database->server->port,
select_heartbeat_query,
mysql_error(database->con));

View File

@ -395,7 +395,7 @@ bool MariaDBServer::is_down() const
const char* MariaDBServer::name() const
{
return m_server_base->server->unique_name;
return m_server_base->server->name;
}
string MariaDBServer::diagnostics(bool multimaster) const

View File

@ -382,7 +382,7 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITORED_SERVER *database)
MXS_ERROR("\"SHOW SLAVE STATUS\" "
" for versions less than 5.5 does not have master_server_id, "
"replication tree cannot be resolved for server %s."
" MySQL Version: %s", database->server->unique_name, server_string);
" MySQL Version: %s", database->server->name, server_string);
database->log_version_err = false;
}
}
@ -561,7 +561,7 @@ monitorMain(void *arg)
mon_print_fail_status(ptr))
{
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->name,
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
}
@ -591,14 +591,14 @@ monitorMain(void *arg)
{
/* If "detect_stale_master" option is On, let's use the previus master */
if (detect_stale_master && root_master &&
(!strcmp(ptr->server->name, root_master->server->name) &&
(!strcmp(ptr->server->address, root_master->server->address) &&
ptr->server->port == root_master->server->port) && (ptr->server->status & SERVER_MASTER) &&
!(ptr->pending_status & SERVER_MASTER))
{
/* in this case server->status will not be updated from pending_status */
MXS_NOTICE("root server [%s:%i] is no longer Master, let's "
"use it again even if it could be a stale master, you have "
"been warned!", ptr->server->name, ptr->server->port);
"been warned!", ptr->server->address, ptr->server->port);
/* Set the STALE bit for this server in server struct */
server_set_status_nolock(ptr->server, SERVER_STALE_STATUS);
}

View File

@ -360,7 +360,7 @@ monitorMain(void *arg)
SERVER_IS_DOWN(ptr->server))
{
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->name,
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
}

View File

@ -292,5 +292,5 @@ LocalClient* LocalClient::create(MXS_SESSION* session, SERVICE* service)
LocalClient* LocalClient::create(MXS_SESSION* session, SERVER* server)
{
return create(session, server->name, server->port);
return create(session, server->address, server->port);
}

View File

@ -180,7 +180,7 @@ static int gw_create_backend_connection(DCB *backend_dcb,
/*< if succeed, fd > 0, -1 otherwise */
/* TODO: Better if function returned a protocol auth state */
rv = gw_do_connect_to_backend(server->name, server->port, &fd);
rv = gw_do_connect_to_backend(server->address, server->port, &fd);
/*< Assign protocol with backend_dcb */
backend_dcb->protocol = protocol;
@ -194,7 +194,7 @@ static int gw_create_backend_connection(DCB *backend_dcb,
MXS_DEBUG("Established "
"connection to %s:%i, protocol fd %d client "
"fd %d.",
server->name,
server->address,
server->port,
protocol->fd,
session->client_dcb->fd);
@ -214,7 +214,7 @@ static int gw_create_backend_connection(DCB *backend_dcb,
protocol->fd = fd;
MXS_DEBUG("Connection "
"pending to %s:%i, protocol fd %d client fd %d.",
server->name,
server->address,
server->port,
protocol->fd,
session->client_dcb->fd);
@ -311,7 +311,7 @@ static void handle_error_response(DCB *dcb, GWBUF *buffer)
bufstr[len - 3] = '\0';
MXS_ERROR("Invalid authentication message from backend '%s'. Error code: %d, "
"Msg : %s", dcb->server->unique_name, errcode, bufstr);
"Msg : %s", dcb->server->name, errcode, bufstr);
/** If the error is ER_HOST_IS_BLOCKED put the server into maintenace mode.
* This will prevent repeated authentication failures. */
@ -321,8 +321,8 @@ static void handle_error_response(DCB *dcb, GWBUF *buffer)
"to the server blocking connections from MaxScale. "
"Run 'mysqladmin -h %s -P %d flush-hosts' on this "
"server before taking this server out of maintenance "
"mode.", dcb->server->unique_name,
dcb->server->name, dcb->server->port);
"mode.", dcb->server->name,
dcb->server->address, dcb->server->port);
server_set_status(dcb->server, SERVER_MAINT);
}
@ -1177,7 +1177,7 @@ static int gw_MySQLWrite_backend(DCB *dcb, GWBUF *queue)
{
MXS_ERROR("Unable to write to backend '%s' due to "
"%s failure. Server in state %s.",
dcb->server->unique_name,
dcb->server->name,
backend_protocol->protocol_auth_state == MXS_AUTH_STATE_HANDSHAKE_FAILED ?
"handshake" : "authentication",
STRSRVSTATUS(dcb->server));
@ -2083,7 +2083,7 @@ static void gw_send_proxy_protocol_header(DCB *backend_dcb)
if (headerbuf)
{
MXS_INFO("Sending proxy-protocol header '%s' to backend %s.", proxy_header,
backend_dcb->server->unique_name);
backend_dcb->server->name);
if (!dcb_write(backend_dcb, headerbuf))
{
gwbuf_free(headerbuf);

View File

@ -1335,10 +1335,10 @@ closeSession(MXS_ROUTER *instance, MXS_ROUTER_SESSION *router_session)
*/
MXS_NOTICE("%s: Master %s disconnected after %ld seconds. "
"%lu events read,",
router->service->name, router->service->dbref->server->name,
router->service->name, router->service->dbref->server->address,
time(0) - router->connect_time, router->stats.n_binlogs_ses);
MXS_ERROR("Binlog router close session with master server %s",
router->service->dbref->server->unique_name);
router->service->dbref->server->name);
blr_master_reconnect(router);
return;
}
@ -2360,7 +2360,7 @@ errorReply(MXS_ROUTER *instance,
"%s while connecting to master [%s]:%d. Replication is stopped.",
router->service->name, router->m_errno, router->m_errmsg,
blrm_states[BLRM_TIMESTAMP], msg,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}
}
@ -2404,7 +2404,7 @@ errorReply(MXS_ROUTER *instance,
"%sattempting reconnect to master [%s]:%d",
router->service->name, mysql_errno, errmsg,
blrm_states[router->master_state], msg,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}
else
@ -2414,7 +2414,7 @@ errorReply(MXS_ROUTER *instance,
"%snot retrying a new connection to master [%s]:%d",
router->service->name,
blrm_states[router->master_state], msg,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}
@ -2440,7 +2440,7 @@ errorReply(MXS_ROUTER *instance,
MXS_NOTICE("%s: Master %s disconnected after %ld seconds. "
"%lu events read.",
router->service->name, router->service->dbref->server->name,
router->service->name, router->service->dbref->server->address,
time(0) - router->connect_time, router->stats.n_binlogs_ses);
blr_master_reconnect(router);
}
@ -3105,7 +3105,7 @@ destroyInstance(MXS_ROUTER *instance)
MXS_INFO("%s is being stopped by MaxScale shudown. Disconnecting from master [%s]:%d, "
"read up to log %s, pos %lu, transaction safe pos %lu",
inst->service->name,
inst->service->dbref->server->name,
inst->service->dbref->server->address,
inst->service->dbref->server->port,
inst->binlog_name, inst->current_pos, inst->binlog_position);

View File

@ -3152,7 +3152,7 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error)
fprintf(config_file, "[%s]\n", section);
/* write ini file key=value */
fprintf(config_file, "master_host=%s\n", router->service->dbref->server->name);
fprintf(config_file, "master_host=%s\n", router->service->dbref->server->address);
fprintf(config_file, "master_port=%d\n", router->service->dbref->server->port);
fprintf(config_file, "master_user=%s\n", router->user);
fprintf(config_file, "master_password=%s\n", router->password);

View File

@ -196,7 +196,7 @@ static void blr_start_master(void* data)
"reached %d maximum number of retries. "
"Replication is stopped.",
router->service->name,
router->service->dbref->server->unique_name,
router->service->dbref->server->name,
router->retry_limit);
return;
}
@ -261,17 +261,17 @@ static void blr_start_master(void* data)
MXS_ERROR("%s: failure while connecting to master server '%s', "
"retrying in %d seconds",
router->service->name,
router->service->dbref->server->unique_name,
router->service->dbref->server->name,
connect_retry);
return;
}
router->master->remote = MXS_STRDUP_A(router->service->dbref->server->name);
router->master->remote = MXS_STRDUP_A(router->service->dbref->server->address);
router->master->service = router->service;
MXS_NOTICE("%s: attempting to connect to master"
" server [%s]:%d, binlog='%s', pos=%lu%s%s",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port,
router->binlog_name,
router->current_pos,
@ -408,7 +408,7 @@ blr_restart_master(ROUTER_INSTANCE *router)
"reached %d maximum number of retries. "
"Replication is stopped.",
router->service->name,
router->service->dbref->server->unique_name,
router->service->dbref->server->name,
router->retry_limit);
return;
}
@ -434,7 +434,7 @@ blr_restart_master(ROUTER_INSTANCE *router)
MXS_ERROR("%s: failed to connect to master server '%s', "
"retrying in %d seconds",
router->service->name,
router->service->dbref->server->unique_name,
router->service->dbref->server->name,
connect_retry);
}
}
@ -1425,7 +1425,7 @@ blr_handle_binlog_record(ROUTER_INSTANCE *router, GWBUF *pkt)
"be sent to the master server [%s]:%d",
router->service->name, router->binlog_name,
router->current_pos,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
/* Send Semi-Sync ACK packet to master server */
@ -1993,7 +1993,7 @@ blr_check_heartbeat(ROUTER_INSTANCE *router)
MXS_ERROR("No event received from master [%s]:%d in heartbeat period (%lu seconds), "
"last event (%s %d) received %lu seconds ago. Assuming connection is dead "
"and reconnecting.",
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port,
router->heartbeat,
event_desc != NULL ? event_desc : "unknown",
@ -2818,7 +2818,7 @@ static void blr_register_getsemisync(ROUTER_INSTANCE *router, GWBUF *buf)
{
MXS_NOTICE("%s: checking Semi-Sync replication capability for master server [%s]:%d",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
// New registration message
@ -2853,7 +2853,7 @@ static bool blr_register_setsemisync(ROUTER_INSTANCE *router, GWBUF *buf)
/* not installed */
MXS_NOTICE("%s: master server [%s]:%d doesn't have semi_sync capability",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
/* Continue without semisync */
@ -2869,7 +2869,7 @@ static bool blr_register_setsemisync(ROUTER_INSTANCE *router, GWBUF *buf)
MXS_NOTICE("%s: master server [%s]:%d doesn't have semi_sync"
" enabled right now, Request Semi-Sync Replication anyway",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}
else
@ -2878,7 +2878,7 @@ static bool blr_register_setsemisync(ROUTER_INSTANCE *router, GWBUF *buf)
MXS_NOTICE("%s: master server [%s]:%d has semi_sync enabled,"
" Requesting Semi-Sync Replication",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}
@ -3264,7 +3264,7 @@ static void blr_start_master_registration(ROUTER_INSTANCE *router, GWBUF *buf)
"position %lu from master server [%s]:%d",
router->service->name, router->binlog_name,
router->current_pos,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port);
}

View File

@ -1338,8 +1338,8 @@ blr_slave_send_slave_status(ROUTER_INSTANCE *router,
snprintf(column,
max_column_size,
"%s",
router->service->dbref->server->name ?
router->service->dbref->server->name :
router->service->dbref->server->address ?
router->service->dbref->server->address :
"");
col_len = strlen(column);
*ptr++ = col_len; // Length of result string
@ -3906,7 +3906,7 @@ blr_stop_slave(ROUTER_INSTANCE* router, ROUTER_SLAVE* slave)
router->service->name,
slave->dcb->user,
slave->dcb->remote,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port,
router->binlog_name,
router->current_pos,
@ -4117,7 +4117,7 @@ blr_start_slave(ROUTER_INSTANCE* router, ROUTER_SLAVE* slave)
router->service->name,
slave->dcb->user,
slave->dcb->remote,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port,
router->binlog_name,
router->current_pos,
@ -4487,7 +4487,7 @@ blr_set_master_hostname(ROUTER_INSTANCE *router, char *hostname)
MXS_INFO("%s: New MASTER_HOST is [%s]",
router->service->name,
router->service->dbref->server->name);
router->service->dbref->server->address);
return 1;
}
@ -4679,7 +4679,7 @@ blr_master_get_config(ROUTER_INSTANCE *router, MASTER_SERVER_CFG *curr_master)
SSL_LISTENER *server_ssl;
curr_master->port = router->service->dbref->server->port;
curr_master->host = MXS_STRDUP_A(router->service->dbref->server->name);
curr_master->host = MXS_STRDUP_A(router->service->dbref->server->address);
curr_master->pos = router->current_pos;
curr_master->safe_pos = router->binlog_position;
strcpy(curr_master->logfile, router->binlog_name); // Same size
@ -9212,7 +9212,7 @@ static void blr_log_config_changes(ROUTER_INSTANCE *router,
current_master->logfile,
current_master->pos,
current_master->user,
router->service->dbref->server->name,
router->service->dbref->server->address,
router->service->dbref->server->port,
router->binlog_name,
router->current_pos,

View File

@ -861,12 +861,12 @@ static void cmd_AddServer(DCB *dcb, SERVER *server, char *v1, char *v2, char *v3
{
if (runtime_link_server(server, values[i]))
{
dcb_printf(dcb, "Added server '%s' to '%s'\n", server->unique_name, values[i]);
dcb_printf(dcb, "Added server '%s' to '%s'\n", server->name, values[i]);
}
else
{
dcb_printf(dcb, "Could not add server '%s' to object '%s'. See error log for more details.\n",
server->unique_name, values[i]);
server->name, values[i]);
}
}
}
@ -956,7 +956,7 @@ static void cmd_RemoveServer(DCB *dcb, SERVER *server, char *v1, char *v2, char
{
if (runtime_unlink_server(server, values[i]))
{
dcb_printf(dcb, "Removed server '%s' from '%s'\n", server->unique_name, values[i]);
dcb_printf(dcb, "Removed server '%s' from '%s'\n", server->name, values[i]);
}
else
{
@ -1248,8 +1248,8 @@ static void destroyServer(DCB *dcb, SERVER *server)
/** Do this so that we don't directly access the server. Currently, the
* destruction of a server does not free any memory and the server stays
* valid. */
char name[strlen(server->unique_name) + 1];
strcpy(name, server->unique_name);
char name[strlen(server->name) + 1];
strcpy(name, server->name);
if (runtime_destroy_server(server))
{
@ -1411,7 +1411,7 @@ static void alterServer(DCB *dcb, SERVER *server, char *v1, char *v2, char *v3,
ssl_version, ssl_depth))
{
dcb_printf(dcb, "Enabling SSL for server '%s' failed, see log "
"for more details.\n", server->unique_name);
"for more details.\n", server->name);
}
}
else

View File

@ -194,7 +194,7 @@ Dcb HintRouter::connect_to_backend(MXS_SESSION* session, SERVER_REF* sref,
HintRouterSession::BackendMap* all_backends)
{
Dcb result(NULL);
HR_DEBUG("Connecting to %s.", sref->server->unique_name);
HR_DEBUG("Connecting to %s.", sref->server->name);
DCB* new_connection = dcb_connect(sref->server, session, sref->server->protocol);
if (new_connection)
@ -204,7 +204,7 @@ Dcb HintRouter::connect_to_backend(MXS_SESSION* session, SERVER_REF* sref,
new_connection->service = session->service;
result = Dcb(new_connection);
string name(new_connection->server->unique_name);
string name(new_connection->server->name);
all_backends->insert(HintRouterSession::MapElement(name, result));
}
else

View File

@ -42,7 +42,7 @@ public:
if (pPacket)
{
SERVER* pServer = dcb.server();
HR_DEBUG("Writing packet to %p %s.", dcb.get(), pServer ? pServer->unique_name : "(null)");
HR_DEBUG("Writing packet to %p %s.", dcb.get(), pServer ? pServer->name : "(null)");
rv = dcb.write(pPacket);
}
return rv;
@ -137,13 +137,13 @@ void HintRouterSession::clientReply(GWBUF* pPacket, DCB* pBackend)
if (m_surplus_replies == 0)
{
HR_DEBUG("Returning packet from %s.", pServer ? pServer->unique_name : "(null)");
HR_DEBUG("Returning packet from %s.", pServer ? pServer->name : "(null)");
MXS_SESSION_ROUTE_REPLY(pBackend->session, pPacket);
}
else
{
HR_DEBUG("Ignoring reply packet from %s.", pServer ? pServer->unique_name : "(null)");
HR_DEBUG("Ignoring reply packet from %s.", pServer ? pServer->name : "(null)");
--m_surplus_replies;
gwbuf_free(pPacket);
@ -218,7 +218,7 @@ bool HintRouterSession::route_by_hint(GWBUF* pPacket, HINT* hint, bool print_err
if (master_ok)
{
HR_DEBUG("Writing packet to master: '%s'.", m_master.server()->unique_name);
HR_DEBUG("Writing packet to master: '%s'.", m_master.server()->name);
success = m_master.write(pPacket);
if (success)
{
@ -246,7 +246,7 @@ bool HintRouterSession::route_by_hint(GWBUF* pPacket, HINT* hint, bool print_err
BackendMap::const_iterator iter = m_backends.find(backend_name);
if (iter != m_backends.end())
{
HR_DEBUG("Writing packet to %s.", iter->second.server()->unique_name);
HR_DEBUG("Writing packet to %s.", iter->second.server()->name);
success = iter->second.write(pPacket);
if (success)
{
@ -317,7 +317,7 @@ bool HintRouterSession::route_to_slave(GWBUF* pPacket, bool print_errors)
Dcb& candidate = m_slaves.at(curr % size);
if (SERVER_IS_SLAVE(candidate.server()))
{
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->unique_name);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name);
success = candidate.write(pPacket);
if (success)
{
@ -345,7 +345,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);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->unique_name);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name);
success = candidate.write(pPacket);
if (success)
{

View File

@ -431,7 +431,7 @@ newSession(MXS_ROUTER *instance, MXS_SESSION *session)
CHK_CLIENT_RSES(client_rses);
MXS_INFO("New session for server %s. Connections : %d",
candidate->server->unique_name, candidate->connections);
candidate->server->name, candidate->connections);
return (void *) client_rses;
}
@ -514,16 +514,16 @@ static void log_closed_session(mxs_mysql_cmd_t mysql_command, bool is_closed,
}
else if (SERVER_IS_DOWN(ref->server))
{
sprintf(msg, "Server '%s' is down.", ref->server->unique_name);
sprintf(msg, "Server '%s' is down.", ref->server->name);
}
else if (SERVER_IN_MAINT(ref->server))
{
sprintf(msg, "Server '%s' is in maintenance.", ref->server->unique_name);
sprintf(msg, "Server '%s' is in maintenance.", ref->server->name);
}
else if (!valid)
{
sprintf(msg, "Server '%s' no longer qualifies as a target server.",
ref->server->unique_name);
ref->server->name);
}
MXS_ERROR("Failed to route MySQL command %d to backend server. %s",
@ -640,7 +640,7 @@ routeQuery(MXS_ROUTER *instance, MXS_ROUTER_SESSION *router_session, GWBUF *queu
MXS_INFO("Routed [%s] to '%s'%s%s",
STRPACKETTYPE(mysql_command),
backend_dcb->server->unique_name,
backend_dcb->server->name,
trc ? ": " : ".",
trc ? trc : "");
MXS_FREE(trc);
@ -678,7 +678,7 @@ diagnostics(MXS_ROUTER *router, DCB *dcb)
for (SERVER_REF *ref = router_inst->service->dbref; ref; ref = ref->next)
{
dcb_printf(dcb, "\t\t%-20s %3.1f%% %d\n",
ref->server->unique_name,
ref->server->name,
(float) ref->weight / 10,
ref->connections);
}

View File

@ -382,7 +382,7 @@ void RWSplit::diagnostics(DCB *dcb)
for (SERVER_REF *ref = service()->dbref; ref; ref = ref->next)
{
dcb_printf(dcb, "\t\t%-20s %3.1f%% %-6d %-6d %d\n",
ref->server->unique_name, (float)ref->weight / 10,
ref->server->name, (float)ref->weight / 10,
ref->server->stats.n_current, ref->connections,
ref->server->stats.n_current_ops);
}

View File

@ -211,26 +211,26 @@ static void log_server_connections(select_criteria_t criteria, const SRWBackendL
{
case LEAST_GLOBAL_CONNECTIONS:
MXS_INFO("MaxScale connections : %d in \t[%s]:%d %s",
b->server->stats.n_current, b->server->name,
b->server->stats.n_current, b->server->address,
b->server->port, STRSRVSTATUS(b->server));
break;
case LEAST_ROUTER_CONNECTIONS:
MXS_INFO("RWSplit connections : %d in \t[%s]:%d %s",
b->connections, b->server->name,
b->connections, b->server->address,
b->server->port, STRSRVSTATUS(b->server));
break;
case LEAST_CURRENT_OPERATIONS:
MXS_INFO("current operations : %d in \t[%s]:%d %s",
b->server->stats.n_current_ops,
b->server->name, b->server->port,
b->server->address, b->server->port,
STRSRVSTATUS(b->server));
break;
case LEAST_BEHIND_MASTER:
MXS_INFO("replication lag : %d in \t[%s]:%d %s",
b->server->rlag, b->server->name,
b->server->rlag, b->server->address,
b->server->port, STRSRVSTATUS(b->server));
break;

View File

@ -329,19 +329,19 @@ static void log_unexpected_response(DCB* dcb, GWBUF* buffer)
MXS_INFO("Connection from '%s'@'%s' to '%s' was killed",
dcb->session->client_dcb->user,
dcb->session->client_dcb->remote,
dcb->server->unique_name);
dcb->server->name);
}
else
{
MXS_WARNING("Server '%s' sent an unexpected error: %hu, %s",
dcb->server->unique_name, errcode, errstr.c_str());
dcb->server->name, errcode, errstr.c_str());
}
}
else
{
MXS_ERROR("Unexpected internal state: received response 0x%02hhx from "
"server '%s' when no response was expected",
mxs_mysql_get_command(buffer), dcb->server->unique_name);
mxs_mysql_get_command(buffer), dcb->server->name);
ss_dassert(false);
}
}
@ -534,7 +534,7 @@ void check_and_log_backend_state(const SRWBackend& backend, DCB* problem_dcb)
else
{
const char *remote = problem_dcb->state == DCB_STATE_POLLING &&
problem_dcb->server ? problem_dcb->server->unique_name : "CLOSED";
problem_dcb->server ? problem_dcb->server->name : "CLOSED";
MXS_ERROR("DCB connected to '%s' is not in use by the router "
"session, not closing it. DCB is in state '%s'",

View File

@ -216,7 +216,7 @@ bool connect_backend_servers(SSRBackendList& backends, MXS_SESSION* session)
MXS_INFO("MaxScale connections : %d (%d) in \t%s:%d %s",
b->connections,
b->server->stats.n_current,
b->server->name,
b->server->address,
b->server->port,
STRSRVSTATUS(b->server));
}
@ -250,7 +250,7 @@ bool connect_backend_servers(SSRBackendList& backends, MXS_SESSION* session)
succp = false;
MXS_ERROR("Unable to establish "
"connection with slave %s:%d",
b->server->name,
b->server->address,
b->server->port);
/* handle connect error */
break;
@ -273,7 +273,7 @@ bool connect_backend_servers(SSRBackendList& backends, MXS_SESSION* session)
{
MXS_INFO("Connected %s in \t%s:%d",
STRSRVSTATUS(b->server),
b->server->name,
b->server->address,
b->server->port);
}
}

View File

@ -383,7 +383,7 @@ int32_t SchemaRouterSession::routeQuery(GWBUF* pPacket)
if (target)
{
MXS_INFO("INIT_DB for database '%s' on server '%s'",
m_current_db.c_str(), target->unique_name);
m_current_db.c_str(), target->name);
route_target = TARGET_NAMED_SERVER;
}
else
@ -419,7 +419,7 @@ int32_t SchemaRouterSession::routeQuery(GWBUF* pPacket)
DCB* target_dcb = NULL;
if (TARGET_IS_NAMED_SERVER(route_target) && target &&
get_shard_dcb(&target_dcb, target->unique_name))
get_shard_dcb(&target_dcb, target->name))
{
/** We know where to route this query */
SSRBackend bref = get_bref_from_dcb(target_dcb);
@ -429,7 +429,7 @@ int32_t SchemaRouterSession::routeQuery(GWBUF* pPacket)
m_load_target = bref->backend()->server;
}
MXS_INFO("Route query to \t%s:%d <", bref->backend()->server->name, bref->backend()->server->port);
MXS_INFO("Route query to \t%s:%d <", bref->backend()->server->address, bref->backend()->server->port);
if (bref->has_session_commands())
{
@ -525,7 +525,7 @@ void SchemaRouterSession::clientReply(GWBUF* pPacket, DCB* pDcb)
MXS_DEBUG("Reply from [%s] session [%p]"
" mapping [%s] queries queued [%s]",
bref->backend()->server->unique_name,
bref->backend()->server->name,
m_client->session,
m_state & INIT_MAPPING ? "true" : "false",
m_queue.size() == 0 ? "none" :
@ -571,7 +571,7 @@ void SchemaRouterSession::clientReply(GWBUF* pPacket, DCB* pDcb)
if (bref->execute_session_command())
{
MXS_INFO("Backend %s:%d processed reply and starts to execute active cursor.",
bref->backend()->server->name, bref->backend()->server->port);
bref->backend()->server->address, bref->backend()->server->port);
}
else if (bref->write_stored_command())
{
@ -734,7 +734,7 @@ bool SchemaRouterSession::route_session_write(GWBUF* querybuf, uint8_t command)
{
MXS_INFO("Route query to %s\t%s:%d",
SERVER_IS_MASTER((*it)->backend()->server) ? "master" : "slave",
(*it)->backend()->server->name,
(*it)->backend()->server->address,
(*it)->backend()->server->port);
}
@ -748,7 +748,7 @@ bool SchemaRouterSession::route_session_write(GWBUF* querybuf, uint8_t command)
{
MXS_ERROR("Failed to execute session "
"command in %s:%d",
(*it)->backend()->server->name,
(*it)->backend()->server->address,
(*it)->backend()->server->port);
}
}
@ -757,7 +757,7 @@ bool SchemaRouterSession::route_session_write(GWBUF* querybuf, uint8_t command)
ss_dassert((*it)->session_command_count() > 1);
/** The server is already executing a session command */
MXS_INFO("Backend %s:%d already executing sescmd.",
(*it)->backend()->server->name,
(*it)->backend()->server->address,
(*it)->backend()->server->port);
succp = true;
}
@ -864,7 +864,7 @@ RESULT_ROW* shard_list_cb(struct resultset* rset, void* data)
if (rval)
{
resultset_row_set(rval, 0, pContent->begin()->first.c_str());
resultset_row_set(rval, 1, pContent->begin()->second->unique_name);
resultset_row_set(rval, 1, pContent->begin()->second->name);
pContent->erase(pContent->begin());
}
@ -947,19 +947,19 @@ bool SchemaRouterSession::handle_default_db()
SSRBackend backend;
DCB* dcb = NULL;
if (get_shard_dcb(&dcb, target->unique_name) &&
if (get_shard_dcb(&dcb, target->name) &&
(backend = get_bref_from_dcb(dcb)))
{
backend->write(buffer);
MXS_DEBUG("USE '%s' sent to %s for session %p",
m_connect_db.c_str(),
target->unique_name,
target->name,
m_client->session);
rval = true;
}
else
{
MXS_INFO("Couldn't find target DCB for '%s'.", target->unique_name);
MXS_INFO("Couldn't find target DCB for '%s'.", target->name);
}
}
else
@ -1025,7 +1025,7 @@ int SchemaRouterSession::inspect_mapping_states(SSRBackend& bref,
(*it)->set_mapped(true);
(*it)->ack_write();
MXS_DEBUG("Received SHOW DATABASES reply from %s for session %p",
(*it)->backend()->server->unique_name,
(*it)->backend()->server->name,
m_client->session);
}
else
@ -1079,7 +1079,7 @@ int SchemaRouterSession::inspect_mapping_states(SSRBackend& bref,
{
mapped = false;
MXS_DEBUG("Still waiting for reply to SHOW DATABASES from %s for session %p",
(*it)->backend()->server->unique_name, m_client->session);
(*it)->backend()->server->name, m_client->session);
}
}
*wbuf = writebuf;
@ -1140,7 +1140,7 @@ bool change_current_db(std::string& dest, Shard& shard, GWBUF* buf)
if (target)
{
dest = db;
MXS_INFO("change_current_db: database is on server: '%s'.", target->unique_name);
MXS_INFO("change_current_db: database is on server: '%s'.", target->name);
succp = true;
}
}
@ -1313,7 +1313,7 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
{
if (m_shard.add_location(data, target))
{
MXS_INFO("<%s, %s>", target->unique_name, data);
MXS_INFO("<%s, %s>", target->name, data);
}
else
{
@ -1323,15 +1323,15 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
SERVER *duplicate = m_shard.get_location(data);
MXS_ERROR("Database '%s' found on servers '%s' and '%s' for user %s@%s.",
data, target->unique_name, duplicate->unique_name,
data, target->name, duplicate->name,
m_client->user, m_client->remote);
}
else if (m_config->preferred_server == target)
{
/** In conflict situations, use the preferred server */
MXS_INFO("Forcing location of '%s' from '%s' to '%s'",
data, m_shard.get_location(data)->unique_name,
target->unique_name);
data, m_shard.get_location(data)->name,
target->name);
m_shard.replace_location(data, target);
}
}
@ -1344,12 +1344,12 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
{
n_eof++;
MXS_INFO("SHOW DATABASES fully received from %s.",
bref->backend()->server->unique_name);
bref->backend()->server->name);
}
else
{
MXS_INFO("SHOW DATABASES partially received from %s.",
bref->backend()->server->unique_name);
bref->backend()->server->name);
}
gwbuf_free(buf);
@ -1400,7 +1400,7 @@ void SchemaRouterSession::query_databases()
if (!(*it)->write(clone))
{
MXS_ERROR("Failed to write SHOW DATABASES to '%s'",
(*it)->backend()->server->unique_name);
(*it)->backend()->server->name);
}
}
}
@ -1462,14 +1462,14 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
{
MXS_ERROR("Query targets databases on servers '%s' and '%s'. "
"Cross database queries across servers are not supported.",
rval->unique_name, target->unique_name);
rval->name, target->name);
}
else if (rval == NULL)
{
rval = target;
has_dbs = true;
MXS_INFO("Query targets database '%s' on server '%s'",
databases[i], rval->unique_name);
databases[i], rval->name);
}
}
}
@ -1511,7 +1511,7 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
if (rval)
{
MXS_INFO("SHOW TABLES query, current database '%s' on server '%s'",
m_current_db.c_str(), rval->unique_name);
m_current_db.c_str(), rval->name);
}
}
else
@ -1523,12 +1523,12 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
{
for (SSRBackendList::iterator it = m_backends.begin(); it != m_backends.end(); it++)
{
char *srvnm = (*it)->backend()->server->unique_name;
char *srvnm = (*it)->backend()->server->name;
if (strcmp(srvnm, (char*)buffer->hint->data) == 0)
{
rval = (*it)->backend()->server;
MXS_INFO("Routing hint found (%s)", rval->unique_name);
MXS_INFO("Routing hint found (%s)", rval->name);
}
}
}
@ -1545,7 +1545,7 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
if (rval)
{
MXS_INFO("Using active database '%s' on '%s'",
m_current_db.c_str(), rval->unique_name);
m_current_db.c_str(), rval->name);
}
}
@ -1579,7 +1579,7 @@ bool SchemaRouterSession::get_shard_dcb(DCB** p_dcb, char* name)
* the backend state must be RUNNING
*/
if ((*it)->in_use() &&
(strncasecmp(name, b->server->unique_name, PATH_MAX) == 0) &&
(strncasecmp(name, b->server->name, PATH_MAX) == 0) &&
SERVER_IS_RUNNING(b->server))
{
*p_dcb = (*it)->dcb();