* Added few types to make code more readable

pull/4144/head
Rahim Kanji 3 years ago
parent c8a94c12fd
commit 8fa49d79df

@ -378,6 +378,25 @@ struct hg_metrics_map_idx {
};
};
/**
* @brief Required server info for the replication_lag Monitoring actions.
*/
using hostgroupid_t = int;
using address_t = std::string;
using port_t = unsigned int;
using current_replication_lag = int;
using replication_lag_server_t = std::tuple<hostgroupid_t,address_t,port_t,current_replication_lag>;
enum REPLICATION_LAG_SERVER_T {
HOSTGROUP_ID = 0,
ADDRESS,
PORT,
CURRENT_REPLICATION_LAG,
__SIZE
};
class MySQL_HostGroups_Manager {
private:
SQLite3DB *admindb;
@ -734,7 +753,7 @@ class MySQL_HostGroups_Manager {
void destroy_MyConn_from_pool(MySQL_Connection *, bool _lock=true);
void replication_lag_action_inner(MyHGC *, const char*, unsigned int, int);
void replication_lag_action(const std::list<std::tuple<int, std::string, unsigned int, int>>& mysql_servers);
void replication_lag_action(const std::list<replication_lag_server_t>& mysql_servers);
void read_only_action(char *hostname, int port, int read_only);
void read_only_action_v2(const std::list<std::tuple<std::string,int,int>>& mysql_servers);
unsigned int get_servers_table_version();

@ -3476,22 +3476,19 @@ void MySQL_HostGroups_Manager::replication_lag_action_inner(MyHGC *myhgc, const
}
}
void MySQL_HostGroups_Manager::replication_lag_action(const std::list<std::tuple<int, std::string, unsigned int, int>>& mysql_servers) {
void MySQL_HostGroups_Manager::replication_lag_action(const std::list<replication_lag_server_t>& mysql_servers) {
//this method does not use admin table, so this lock is not needed.
//GloAdmin->mysql_servers_wrlock();
int hid = -1;
std::string address;
unsigned int port = 0;
int current_replication_lag = -1;
unsigned long long curtime1 = monotonic_time();
wrlock();
for (const auto& server : mysql_servers) {
std::tie(hid, address, port, current_replication_lag) = server;
const int hid = std::get<REPLICATION_LAG_SERVER_T::HOSTGROUP_ID>(server);
const std::string& address = std::get<REPLICATION_LAG_SERVER_T::ADDRESS>(server);
const unsigned int port = std::get<REPLICATION_LAG_SERVER_T::PORT>(server);
const int current_replication_lag = std::get<REPLICATION_LAG_SERVER_T::CURRENT_REPLICATION_LAG>(server);
if (mysql_thread___monitor_replication_lag_group_by_host == false) {
// legacy check. 1 check per server per hostgroup

Loading…
Cancel
Save