MXS-2220 Read server version using public methods
Version related fields have been removed from the public class.
This commit is contained in:
@ -127,11 +127,10 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
{
|
||||
MYSQL_ROW row;
|
||||
MYSQL_RES* result;
|
||||
char* server_string;
|
||||
|
||||
/* get server version string */
|
||||
mxs_mysql_update_server_version(monitored_server->con, monitored_server->server);
|
||||
server_string = monitored_server->server->version_string;
|
||||
mxs_mysql_update_server_version(monitored_server->server, monitored_server->con);
|
||||
auto server_string = monitored_server->server->version_string();
|
||||
|
||||
/* Check if the the Galera FSM shows this node is joined to the cluster */
|
||||
const char* cluster_member =
|
||||
@ -150,7 +149,7 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
MXS_ERROR("Unexpected result for \"%s\". "
|
||||
"Expected 2 columns. MySQL Version: %s",
|
||||
cluster_member,
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
return;
|
||||
}
|
||||
GaleraNode info = {};
|
||||
@ -193,7 +192,7 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
}
|
||||
/* Check if the node is a donor and is using xtrabackup, in this case it can stay alive */
|
||||
else if (strcmp(row[1], "2") == 0 && m_availableWhenDonor == 1
|
||||
&& using_xtrabackup(monitored_server, server_string))
|
||||
&& using_xtrabackup(monitored_server, server_string.c_str()))
|
||||
{
|
||||
info.joined = 1;
|
||||
}
|
||||
|
||||
@ -1494,7 +1494,8 @@ void MariaDBMonitor::check_cluster_operations_support()
|
||||
supported = false;
|
||||
auto reason = string_printf("The version of '%s' (%s) is not supported. Failover/switchover "
|
||||
"requires MariaDB 10.0.2 or later.",
|
||||
server->name(), server->m_server_base->server->version_string);
|
||||
server->name(),
|
||||
server->m_server_base->server->version_string().c_str());
|
||||
printer.cat(all_reasons, reason);
|
||||
}
|
||||
|
||||
|
||||
@ -887,20 +887,18 @@ bool MariaDBServer::update_slave_status(string* errmsg_out)
|
||||
|
||||
void MariaDBServer::update_server_version()
|
||||
{
|
||||
m_srv_type = server_type::UNKNOWN;
|
||||
auto conn = m_server_base->con;
|
||||
auto srv = m_server_base->server;
|
||||
mxs_mysql_update_server_version(srv, conn);
|
||||
|
||||
/* Get server version string, also get/set numeric representation. This function does not query the
|
||||
* server, since the data was obtained when connecting. */
|
||||
mxs_mysql_update_server_version(conn, srv);
|
||||
|
||||
// Check whether this server is a MaxScale Binlog Server.
|
||||
m_srv_type = server_type::UNKNOWN; // TODO: Use type information in SERVER directly
|
||||
auto server_type = srv->type();
|
||||
MYSQL_RES* result;
|
||||
if (strcasestr(srv->version_string, "clustrix") != nullptr)
|
||||
if (server_type == SERVER::Type::CLUSTRIX)
|
||||
{
|
||||
m_srv_type = server_type::CLUSTRIX;
|
||||
}
|
||||
// Check whether this server is a MaxScale Binlog Server.
|
||||
else if (mxs_mysql_query(conn, "SELECT @@maxscale_version") == 0
|
||||
&& (result = mysql_store_result(conn)) != NULL)
|
||||
{
|
||||
@ -912,7 +910,7 @@ void MariaDBServer::update_server_version()
|
||||
/* Not a binlog server, check version number and supported features. */
|
||||
m_srv_type = server_type::NORMAL;
|
||||
m_capabilities = Capabilities();
|
||||
SERVER::Version info = srv->get_version();
|
||||
SERVER::Version info = srv->version();
|
||||
auto major = info.major;
|
||||
auto minor = info.minor;
|
||||
auto patch = info.patch;
|
||||
@ -921,7 +919,7 @@ void MariaDBServer::update_server_version()
|
||||
{
|
||||
m_capabilities.basic_support = true;
|
||||
// For more specific features, at least MariaDB 10.X is needed.
|
||||
if (srv->server_type == SERVER_TYPE_MARIADB && major >= 10)
|
||||
if (server_type == SERVER::Type::MARIADB && major >= 10)
|
||||
{
|
||||
// 10.0.2 or 10.1.X or greater than 10
|
||||
if (((minor == 0 && patch >= 2) || minor >= 1) || major > 10)
|
||||
@ -938,7 +936,7 @@ void MariaDBServer::update_server_version()
|
||||
else
|
||||
{
|
||||
MXS_ERROR("MariaDB/MySQL version of '%s' (%s) is less than 5.5, which is not supported. "
|
||||
"The server is ignored by the monitor.", name(), srv->version_string);
|
||||
"The server is ignored by the monitor.", name(), srv->version_string().c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,15 +81,13 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
int isslave = 0;
|
||||
int ismaster = 0;
|
||||
unsigned long int server_version = 0;
|
||||
char* server_string;
|
||||
|
||||
|
||||
/* get server version from current server */
|
||||
server_version = mysql_get_server_version(monitored_server->con);
|
||||
|
||||
/* get server version string */
|
||||
mxs_mysql_update_server_version(monitored_server->con, monitored_server->server);
|
||||
server_string = monitored_server->server->version_string;
|
||||
mxs_mysql_update_server_version(monitored_server->server, monitored_server->con);
|
||||
auto server_string = monitored_server->server->version_string();
|
||||
|
||||
/* get server_id form current node */
|
||||
if (mxs_mysql_query(monitored_server->con, "SELECT @@server_id") == 0
|
||||
@ -102,7 +100,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
mysql_free_result(result);
|
||||
MXS_ERROR("Unexpected result for 'SELECT @@server_id'. Expected 1 column."
|
||||
" MySQL Version: %s",
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -141,7 +139,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
mysql_free_result(result);
|
||||
MXS_ERROR("\"SHOW ALL SLAVES STATUS\" returned less than the expected"
|
||||
" amount of columns. Expected 42 columns MySQL Version: %s",
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -211,7 +209,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
"replication tree cannot be resolved for server %s."
|
||||
" MySQL Version: %s",
|
||||
monitored_server->server->name,
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
monitored_server->log_version_err = false;
|
||||
}
|
||||
}
|
||||
@ -220,7 +218,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
MXS_ERROR("\"SHOW SLAVE STATUS\" "
|
||||
"returned less than the expected amount of columns. "
|
||||
"Expected 40 columns. MySQL Version: %s",
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -269,7 +267,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
mysql_free_result(result);
|
||||
MXS_ERROR("Unexpected result for \"SHOW GLOBAL VARIABLES LIKE 'read_only'\". "
|
||||
"Expected 2 columns. MySQL Version: %s",
|
||||
server_string);
|
||||
server_string.c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -47,11 +47,9 @@ void NDBCMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
MYSQL_ROW row;
|
||||
MYSQL_RES* result;
|
||||
int isjoined = 0;
|
||||
char* server_string;
|
||||
|
||||
/* get server version string */
|
||||
mxs_mysql_update_server_version(monitored_server->con, monitored_server->server);
|
||||
server_string = monitored_server->server->version_string;
|
||||
mxs_mysql_update_server_version(monitored_server->server, monitored_server->con);
|
||||
|
||||
/* Check if the the SQL node is able to contact one or more data nodes */
|
||||
if (mxs_mysql_query(monitored_server->con, "SHOW STATUS LIKE 'Ndb_number_of_ready_data_nodes'") == 0
|
||||
@ -63,7 +61,7 @@ void NDBCMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
MXS_ERROR("Unexpected result for \"SHOW STATUS LIKE "
|
||||
"'Ndb_number_of_ready_data_nodes'\". Expected 2 columns."
|
||||
" MySQL Version: %s",
|
||||
server_string);
|
||||
monitored_server->server->version_string().c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -91,7 +89,7 @@ void NDBCMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
MXS_ERROR("Unexpected result for \"SHOW STATUS LIKE 'Ndb_cluster_node_id'\". "
|
||||
"Expected 2 columns."
|
||||
" MySQL Version: %s",
|
||||
server_string);
|
||||
monitored_server->server->version_string().c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user