Open JohnTipping opened 6 years ago
Can you please run this query on all mysql servers, and copy the output? thanks
SELECT * FROM sys.gr_member_routing_candidate_status;
all 3 nodes return empty sets. so i guess i have done some thing wrong. but all nodes report as online. +--------------+---------------+--------+ | hostgroup_id | hostname | status | +--------------+---------------+--------+ | 1 | 213.40.195.98 | ONLINE | | 1 | 213.40.195.95 | ONLINE | | 1 | 213.40.195.92 | ONLINE | +--------------+---------------+--------+
If monitoring isn't working correctly, I wouldn't trust the reported status. For reference, the query executed by Monitor is:
SELECT viable_candidate,read_only,transactions_behind FROM sys.gr_member_routing_candidate_status
As a result it expects 1 row with 3 columns:
if (mmsd->result) {
int num_fields=0;
int num_rows=0;
num_fields = mysql_num_fields(mmsd->result);
if (num_fields!=3) {
proxy_error("Incorrect number of fields, please report a bug\n");
goto __end_process_group_replication_result;
}
num_rows = mysql_num_rows(mmsd->result);
if (num_rows!=1) {
proxy_error("Incorrect number of rows, please report a bug\n");
goto __end_process_group_replication_result;
}
MYSQL_ROW row=mysql_fetch_row(mmsd->result);
so how do you test comms between proxysql and a configured server?
this error is reporting constantly. MySQL_Monitor.cpp:808:monitor_group_replication_thread(): [ERROR] Incorrect number of rows, please report a bug. i assume this is when the backend server status is being checked. as nothing else is happening. what can i do to solve this.