A master that is down with no running slaves can be replaced

This should be a more general way to detect situations where a DBA
or another MaxScale performs a failover.
This commit is contained in:
Esa Korhonen
2018-08-24 11:34:46 +03:00
parent 178d31af27
commit 9e566bc619
3 changed files with 111 additions and 45 deletions

View File

@ -202,7 +202,8 @@ private:
void tarjan_scc_visit_node(MariaDBServer *node, ServerArray* stack, int *index, int *cycle);
MariaDBServer* find_topology_master_server(std::string* msg_out);
MariaDBServer* find_best_reach_server(const ServerArray& candidates);
void calculate_node_reach(MariaDBServer* node);
void calculate_node_reach(MariaDBServer* search_root);
int running_slaves(MariaDBServer* search_root);
MariaDBServer* find_master_inside_cycle(ServerArray& cycle_servers);
void assign_server_roles();
void assign_slave_and_relay_master(MariaDBServer* start_node);