From d5c002cc06a22b2fbe2db9b444b7c2868ade9c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Sat, 23 Jul 2016 14:54:11 +0000 Subject: [PATCH] Some clean up in MySQL_Monitor --- lib/MySQL_Monitor.cpp | 563 +----------------------------------------- 1 file changed, 2 insertions(+), 561 deletions(-) diff --git a/lib/MySQL_Monitor.cpp b/lib/MySQL_Monitor.cpp index 61dc2c090..d4d326f7b 100644 --- a/lib/MySQL_Monitor.cpp +++ b/lib/MySQL_Monitor.cpp @@ -111,23 +111,6 @@ static int wait_for_mysql(MYSQL *mysql, int status) { } } -/* -static int -mysql_status2(short event, short cont) { - int status= 0; - if (event & POLLIN) - status|= MYSQL_WAIT_READ; - if (event & POLLOUT) - status|= MYSQL_WAIT_WRITE; -// if (event==0 && cont==true) { -// status |= MYSQL_WAIT_TIMEOUT; -// } -// FIXME: handle timeout -// if (event & PROXY_TIMEOUT) -// status|= MYSQL_WAIT_TIMEOUT; - return status; -} -*/ static void close_mysql(MYSQL *my) { if (my->net.vio) { char buff[5]; @@ -147,30 +130,11 @@ static void close_mysql(MYSQL *my) { -/* -struct state_data { - int ST; - char *hostname; - int port; - struct event ev_mysql; - MYSQL mysql; - MYSQL_RES *result; - MYSQL *ret; - int err; - MYSQL_ROW row; - struct query_entry *query_element; - int index; -}; -*/ static int connect__num_active_connections; -//static int total_connect__num_active_connections=0; static int ping__num_active_connections; -//static int total_ping__num_active_connections=0; static int replication_lag__num_active_connections; -//static int total_replication_lag__num_active_connections=0; static int read_only__num_active_connections; -//static int total_read_only__num_active_connections=0; struct cmp_str { @@ -323,37 +287,6 @@ void MySQL_Monitor_Connection_Pool::put_connection(char *hostname, int port, MYS pthread_mutex_unlock(&mutex); } -/* -enum MySQL_Monitor_State_Data_Task_Type { - MON_CONNECT, - MON_PING, - MON_READ_ONLY, - MON_REPLICATION_LAG -}; -*/ - -/* -class MySQL_Monitor_State_Data { - public: - MySQL_Monitor_State_Data_Task_Type task_id; - struct timeval tv_out; - unsigned long long t1; - unsigned long long t2; - int ST; - char *hostname; - int port; - bool use_ssl; - struct event *ev_mysql; - MYSQL *mysql; - struct event_base *base; - MYSQL_RES *result; - MYSQL *ret; - int interr; - char * mysql_error_msg; - MYSQL_ROW *row; - unsigned int repl_lag; - unsigned int hostgroup_id; -*/ MySQL_Monitor_State_Data::MySQL_Monitor_State_Data(char *h, int p, struct event_base *b, bool _use_ssl) { task_id=MON_CONNECT; mysql=NULL; @@ -1234,56 +1167,6 @@ __exit_monitor_replication_lag_thread: // } sqlite3_finalize(statement); -/* - query=(char *)"INSERT OR REPLACE INTO mysql_server_read_only_log VALUES (?1 , ?2 , ?3 , ?4 , ?5 , ?6)"; - rc=sqlite3_prepare_v2(mondb, query, -1, &statement, 0); - assert(rc==SQLITE_OK); - int read_only=1; // as a safety mechanism , read_only=1 is the default - rc=sqlite3_bind_text(statement, 1, mmsd->hostname, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int(statement, 2, mmsd->port); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 3, start_time); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 4, (mmsd->mysql_error_msg ? 0 : mmsd->t2-mmsd->t1)); assert(rc==SQLITE_OK); - if (mmsd->result) { - int num_fields=0; - int k=0; - MYSQL_FIELD *fields=NULL; - int j=-1; - num_fields = mysql_num_fields(mmsd->result); - fields = mysql_fetch_fields(mmsd->result); - for(k = 0; k < num_fields; k++) { - //if (strcmp("VARIABLE_NAME", fields[k].name)==0) { - if (strcmp("Value", fields[k].name)==0) { - j=k; - } - } - if (j>-1) { - MYSQL_ROW row=mysql_fetch_row(mmsd->result); - if (row) { - if (row[j]) { - if (!strcmp(row[j],"0") || !strcasecmp(row[j],"OFF")) - read_only=0; - } - } - } -// if (repl_lag>=0) { - rc=sqlite3_bind_int64(statement, 5, read_only); assert(rc==SQLITE_OK); -// } else { -// rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); -// } - mysql_free_result(mmsd->result); - mmsd->result=NULL; - } else { - rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); - } - rc=sqlite3_bind_text(statement, 6, mmsd->mysql_error_msg, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - SAFE_SQLITE3_STEP(statement); - rc=sqlite3_clear_bindings(statement); assert(rc==SQLITE_OK); - rc=sqlite3_reset(statement); assert(rc==SQLITE_OK); - - MyHGM->read_only_action(mmsd->hostname, mmsd->port, read_only); - - sqlite3_finalize(statement); -*/ } if (mmsd->interr) { // check failed } else { @@ -1309,12 +1192,6 @@ void * MySQL_Monitor::monitor_connect() { mysql_thr->refresh_variables(); - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -// pthread_attr_setstacksize (&attr, 192*1024); - - unsigned long long t1; unsigned long long t2; unsigned long long next_loop_at=0; @@ -1415,29 +1292,11 @@ void * MySQL_Monitor::monitor_ping() { MySQL_Monitor__thread_MySQL_Thread_Variables_version=GloMTH->get_global_version(); mysql_thr->refresh_variables(); - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -// pthread_attr_setstacksize (&attr, 192*1024); - unsigned long long t1; unsigned long long t2; unsigned long long start_time; unsigned long long next_loop_at=0; -// wqueue queue; -// ConsumerThreadPing **threads= (ConsumerThreadPing **)malloc(sizeof(ConsumerThreadPing *)*MONTHREADS); -// for (int i=0;istart(); -// } -/* - wqueue queue; - ConsumerThread **threads= (ConsumerThread **)malloc(sizeof(ConsumerThread *)*MONTHREADS); - for (int i=0;istart(); - } -*/ + while (shutdown==false) { unsigned int glover; @@ -1475,10 +1334,6 @@ void * MySQL_Monitor::monitor_ping() { SQLite3_row *r=*it; MySQL_Monitor_State_Data *mmsd = new MySQL_Monitor_State_Data(r->fields[0],atoi(r->fields[1]), NULL, atoi(r->fields[2])); mmsd->mondb=monitordb; -// pthread_t thr_; -// if ( pthread_create(&thr_, &attr, monitor_ping_thread, (void *)mmsd) != 0 ) { -// perror("Thread creation monitor_ping_thread"); -// } WorkItem* item; item=new WorkItem(mmsd,monitor_ping_thread); GloMyMon->queue.add(item); @@ -1486,7 +1341,7 @@ void * MySQL_Monitor::monitor_ping() { } __end_monitor_ping_loop: - /* if (sds) */ { + { sqlite3_stmt *statement; sqlite3 *mondb=monitordb->get_db(); int rc; @@ -1628,12 +1483,6 @@ __sleep_monitor_ping_loop: delete mysql_thr; mysql_thr=NULL; } -/* - for (int i=0;ijoin(); - } - free(threads); -*/ return NULL; } @@ -1646,11 +1495,6 @@ void * MySQL_Monitor::monitor_read_only() { MySQL_Monitor__thread_MySQL_Thread_Variables_version=GloMTH->get_global_version(); mysql_thr->refresh_variables(); - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -// pthread_attr_setstacksize (&attr, 192*1024); - unsigned long long t1; unsigned long long t2; unsigned long long start_time; @@ -1769,11 +1613,7 @@ void * MySQL_Monitor::monitor_replication_lag() { unsigned int glover; char *error=NULL; -// int cols=0; -// int affected_rows=0; SQLite3_result *resultset=NULL; - //MySQL_Monitor_State_Data **sds=NULL; - //int i=0; //char *query=(char *)"SELECT hostgroup_id, hostname, port, max_replication_lag FROM mysql_servers WHERE max_replication_lag > 0 AND status NOT LIKE 'OFFLINE%'"; // add support for SSL char *query=(char *)"SELECT hostgroup_id, hostname, port, max_replication_lag, use_ssl FROM mysql_servers WHERE max_replication_lag > 0 AND status NOT LIKE 'OFFLINE%'"; @@ -1791,15 +1631,6 @@ void * MySQL_Monitor::monitor_replication_lag() { } next_loop_at=t1+1000*mysql_thread___monitor_replication_lag_interval; start_time=t1; -/* - struct timeval tv_out; - evutil_gettimeofday(&tv_out, NULL); - start_time=(((unsigned long long) tv_out.tv_sec) * 1000000) + (tv_out.tv_usec); - - replication_lag__num_active_connections=0; - // create libevent base - libevent_base= event_base_new(); -*/ proxy_debug(PROXY_DEBUG_ADMIN, 4, "%s\n", query); // admindb->execute_statement(query, &error , &cols , &affected_rows , &resultset); @@ -1820,30 +1651,9 @@ void * MySQL_Monitor::monitor_replication_lag() { WorkItem* item; item=new WorkItem(mmsd,monitor_replication_lag_thread); GloMyMon->queue.add(item); -/* - sds[i] = new MySQL_Monitor_State_Data(r->fields[1],atoi(r->fields[2]),libevent_base, atoi(r->fields[4])); - sds[i]->task_id=MON_REPLICATION_LAG; - sds[i]->hostgroup_id=atoi(r->fields[0]); - sds[i]->repl_lag=atoi(r->fields[3]); - replication_lag__num_active_connections++; - total_replication_lag__num_active_connections++; - MySQL_Monitor_State_Data *_mmsd=sds[i]; - _mmsd->mysql=GloMyMon->My_Conn_Pool->get_connection(_mmsd->hostname, _mmsd->port); - if (_mmsd->mysql==NULL) { - state_machine_handler(-1,-1,_mmsd); - } else { - int fd=mysql_get_socket(_mmsd->mysql); - _mmsd->ST=10; - state_machine_handler(fd,-1,_mmsd); - } - i++; -*/ } } - // start libevent loop -// event_base_dispatch(libevent_base); - __end_monitor_replication_lag_loop: /* if (sds) */ { sqlite3_stmt *statement; @@ -1862,68 +1672,11 @@ __end_monitor_replication_lag_loop: rc=sqlite3_clear_bindings(statement); assert(rc==SQLITE_OK); rc=sqlite3_reset(statement); assert(rc==SQLITE_OK); sqlite3_finalize(statement); -/* - query=(char *)"INSERT OR REPLACE INTO mysql_server_replication_lag_log VALUES (?1 , ?2 , ?3 , ?4 , ?5 , ?6)"; - rc=sqlite3_prepare_v2(mondb, query, -1, &statement, 0); - assert(rc==SQLITE_OK); - while (i>0) { - i--; - int repl_lag=-2; - MySQL_Monitor_State_Data *mmsd=sds[i]; - rc=sqlite3_bind_text(statement, 1, mmsd->hostname, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int(statement, 2, mmsd->port); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 3, start_time); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 4, (mmsd->mysql_error_msg ? 0 : mmsd->t2-mmsd->t1)); assert(rc==SQLITE_OK); - if (mmsd->result) { - num_fields=0; - k=0; - fields=NULL; - int j=-1; - num_fields = mysql_num_fields(mmsd->result); - fields = mysql_fetch_fields(mmsd->result); - for(k = 0; k < num_fields; k++) { - if (strcmp("Seconds_Behind_Master", fields[k].name)==0) { - j=k; - } - } - if (j>-1) { - MYSQL_ROW row=mysql_fetch_row(mmsd->result); - if (row) { - repl_lag=-1; - if (row[j]) { // if Seconds_Behind_Master is not NULL - repl_lag=atoi(row[j]); - } - } - } - if (repl_lag>=0) { - rc=sqlite3_bind_int64(statement, 5, repl_lag); assert(rc==SQLITE_OK); - } else { - rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); - } - mysql_free_result(mmsd->result); - mmsd->result=NULL; - } else { - rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); - } - rc=sqlite3_bind_text(statement, 6, mmsd->mysql_error_msg, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - SAFE_SQLITE3_STEP(statement); - rc=sqlite3_clear_bindings(statement); assert(rc==SQLITE_OK); - rc=sqlite3_reset(statement); assert(rc==SQLITE_OK); - //MyHGM->replication_lag_action(mmsd->hostgroup_id, mmsd->hostname, mmsd->port, (repl_lag==-1 ? 0 : repl_lag)); - MyHGM->replication_lag_action(mmsd->hostgroup_id, mmsd->hostname, mmsd->port, repl_lag); - delete mmsd; - } - sqlite3_finalize(statement); - free(sds); -*/ } if (resultset) delete resultset; - //event_base_free(libevent_base); - - __sleep_monitor_replication_lag: t2=monotonic_time(); if (t2curtime=monotonic_time(); - MySQL_Monitor__thread_MySQL_Thread_Variables_version=GloMTH->get_global_version(); - mysql_thr->refresh_variables(); - - unsigned long long t1; - unsigned long long t2; - unsigned long long start_time; - unsigned long long next_loop_at=0; - - unsigned int num_fields=0; - unsigned int k=0; - MYSQL_FIELD *fields=NULL; - - while (shutdown==false) { - - unsigned int glover; - char *error=NULL; -// int cols=0; -// int affected_rows=0; - SQLite3_result *resultset=NULL; - MySQL_Monitor_State_Data **sds=NULL; - int i=0; - //char *query=(char *)"SELECT hostgroup_id, hostname, port, max_replication_lag FROM mysql_servers WHERE max_replication_lag > 0 AND status NOT LIKE 'OFFLINE%'"; - // add support for SSL - char *query=(char *)"SELECT hostgroup_id, hostname, port, max_replication_lag, use_ssl FROM mysql_servers WHERE max_replication_lag > 0 AND status NOT LIKE 'OFFLINE%'"; - t1=monotonic_time(); - - glover=GloMTH->get_global_version(); - if (MySQL_Monitor__thread_MySQL_Thread_Variables_version < glover ) { - MySQL_Monitor__thread_MySQL_Thread_Variables_version=glover; - mysql_thr->refresh_variables(); - next_loop_at=0; - } - - if (t1 < next_loop_at) { - goto __sleep_monitor_replication_lag; - } - next_loop_at=t1+1000*mysql_thread___monitor_replication_lag_interval; - - struct timeval tv_out; - evutil_gettimeofday(&tv_out, NULL); - start_time=(((unsigned long long) tv_out.tv_sec) * 1000000) + (tv_out.tv_usec); - - replication_lag__num_active_connections=0; - // create libevent base - libevent_base= event_base_new(); - - proxy_debug(PROXY_DEBUG_ADMIN, 4, "%s\n", query); -// admindb->execute_statement(query, &error , &cols , &affected_rows , &resultset); - resultset = MyHGM->execute_query(query, &error); - assert(resultset); - if (error) { - proxy_error("Error on %s : %s\n", query, error); - goto __end_monitor_replication_lag_loop; - } else { - if (resultset->rows_count==0) { - goto __end_monitor_replication_lag_loop; - } - sds=(MySQL_Monitor_State_Data **)malloc(resultset->rows_count * sizeof(MySQL_Monitor_State_Data *)); - for (std::vector::iterator it = resultset->rows.begin() ; it != resultset->rows.end(); ++it) { - SQLite3_row *r=*it; - sds[i] = new MySQL_Monitor_State_Data(r->fields[1],atoi(r->fields[2]),libevent_base, atoi(r->fields[4])); - sds[i]->task_id=MON_REPLICATION_LAG; - sds[i]->hostgroup_id=atoi(r->fields[0]); - sds[i]->repl_lag=atoi(r->fields[3]); - replication_lag__num_active_connections++; - total_replication_lag__num_active_connections++; - MySQL_Monitor_State_Data *_mmsd=sds[i]; - _mmsd->mysql=GloMyMon->My_Conn_Pool->get_connection(_mmsd->hostname, _mmsd->port); - if (_mmsd->mysql==NULL) { - state_machine_handler(-1,-1,_mmsd); - } else { - int fd=mysql_get_socket(_mmsd->mysql); - _mmsd->ST=10; - state_machine_handler(fd,-1,_mmsd); - } - i++; - } - } - - // start libevent loop - event_base_dispatch(libevent_base); - -__end_monitor_replication_lag_loop: - if (sds) { - sqlite3_stmt *statement; - sqlite3 *mondb=monitordb->get_db(); - int rc; - char *query=NULL; - query=(char *)"DELETE FROM mysql_server_replication_lag_log WHERE time_start < ?1"; - rc=sqlite3_prepare_v2(mondb, query, -1, &statement, 0); - assert(rc==SQLITE_OK); - if (mysql_thread___monitor_history < mysql_thread___monitor_ping_interval * (mysql_thread___monitor_ping_max_failures + 1 )) { // issue #626 - if (mysql_thread___monitor_ping_interval < 3600000) - mysql_thread___monitor_history = mysql_thread___monitor_ping_interval * (mysql_thread___monitor_ping_max_failures + 1 ); - } - rc=sqlite3_bind_int64(statement, 1, start_time-mysql_thread___monitor_history*1000); assert(rc==SQLITE_OK); - SAFE_SQLITE3_STEP(statement); - rc=sqlite3_clear_bindings(statement); assert(rc==SQLITE_OK); - rc=sqlite3_reset(statement); assert(rc==SQLITE_OK); - sqlite3_finalize(statement); - - query=(char *)"INSERT OR REPLACE INTO mysql_server_replication_lag_log VALUES (?1 , ?2 , ?3 , ?4 , ?5 , ?6)"; - rc=sqlite3_prepare_v2(mondb, query, -1, &statement, 0); - assert(rc==SQLITE_OK); - while (i>0) { - i--; - int repl_lag=-2; - MySQL_Monitor_State_Data *mmsd=sds[i]; - rc=sqlite3_bind_text(statement, 1, mmsd->hostname, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int(statement, 2, mmsd->port); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 3, start_time); assert(rc==SQLITE_OK); - rc=sqlite3_bind_int64(statement, 4, (mmsd->mysql_error_msg ? 0 : mmsd->t2-mmsd->t1)); assert(rc==SQLITE_OK); - if (mmsd->result) { - num_fields=0; - k=0; - fields=NULL; - int j=-1; - num_fields = mysql_num_fields(mmsd->result); - fields = mysql_fetch_fields(mmsd->result); - for(k = 0; k < num_fields; k++) { - if (strcmp("Seconds_Behind_Master", fields[k].name)==0) { - j=k; - } - } - if (j>-1) { - MYSQL_ROW row=mysql_fetch_row(mmsd->result); - if (row) { - repl_lag=-1; - if (row[j]) { // if Seconds_Behind_Master is not NULL - repl_lag=atoi(row[j]); - } - } - } - if (repl_lag>=0) { - rc=sqlite3_bind_int64(statement, 5, repl_lag); assert(rc==SQLITE_OK); - } else { - rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); - } - mysql_free_result(mmsd->result); - mmsd->result=NULL; - } else { - rc=sqlite3_bind_null(statement, 5); assert(rc==SQLITE_OK); - } - rc=sqlite3_bind_text(statement, 6, mmsd->mysql_error_msg, -1, SQLITE_TRANSIENT); assert(rc==SQLITE_OK); - SAFE_SQLITE3_STEP(statement); - rc=sqlite3_clear_bindings(statement); assert(rc==SQLITE_OK); - rc=sqlite3_reset(statement); assert(rc==SQLITE_OK); - //MyHGM->replication_lag_action(mmsd->hostgroup_id, mmsd->hostname, mmsd->port, (repl_lag==-1 ? 0 : repl_lag)); - MyHGM->replication_lag_action(mmsd->hostgroup_id, mmsd->hostname, mmsd->port, repl_lag); - delete mmsd; - } - sqlite3_finalize(statement); - free(sds); - } - - if (resultset) - delete resultset; - - event_base_free(libevent_base); - - -__sleep_monitor_replication_lag: - t2=monotonic_time(); - if (t2 500000) { - st = 500000; - } - usleep(st); - } - } - if (mysql_thr) { - delete mysql_thr; - mysql_thr=NULL; - } - return NULL; -} -*/ void * MySQL_Monitor::run() { // initialize the MySQL Thread (note: this is not a real thread, just the structures associated with it) @@ -2173,129 +1740,3 @@ void * MySQL_Monitor::run() { } return NULL; }; - - - -/* -MDB_ASYNC_ST MySQL_Monitor_State_Data::handler2(short event) { - -handler_again: - switch (async_state_machine) { - case ASYNC_PING_START: - ping_start(); - if (async_exit_status) { - next_event(ASYNC_PING_CONT); - } else { - NEXT_IMMEDIATE2(ASYNC_PING_END); - } - break; - case ASYNC_PING_CONT: -// assert(myds->sess->status==PINGING_SERVER); - if (event) { - ping_cont(event); - } -// if (async_exit_status) { -// if (myds->sess->thread->curtime >= myds->wait_until) { -// NEXT_IMMEDIATE(ASYNC_PING_TIMEOUT); -// } else { -// next_event(ASYNC_PING_CONT); -// } -// } else { -// NEXT_IMMEDIATE(ASYNC_PING_END); -// } - break; - case ASYNC_PING_END: - if (interr) { - NEXT_IMMEDIATE2(ASYNC_PING_FAILED); - } else { - NEXT_IMMEDIATE2(ASYNC_PING_SUCCESSFUL); - } - break; - case ASYNC_PING_SUCCESSFUL: - break; - case ASYNC_PING_FAILED: - break; - case ASYNC_PING_TIMEOUT: - break; - default: - break; - } - return async_state_machine; -} - -int MySQL_Monitor_State_Data::async_ping(short event) { - PROXY_TRACE(); - assert(mysql); - switch (async_state_machine) { - case ASYNC_PING_SUCCESSFUL: - async_state_machine=ASYNC_IDLE; - return 0; - break; - case ASYNC_PING_FAILED: - return -1; - break; - case ASYNC_PING_TIMEOUT: - return -2; - break; - case ASYNC_IDLE: - async_state_machine=ASYNC_PING_START; - default: - handler2(event); - break; - } - - // check again - switch (async_state_machine) { - case ASYNC_PING_SUCCESSFUL: - async_state_machine=ASYNC_IDLE; - return 0; - break; - case ASYNC_PING_FAILED: - return -1; - break; - case ASYNC_PING_TIMEOUT: - return -2; - break; - default: - return 1; - break; - } - return 1; -} - -void MySQL_Monitor_State_Data::next_event(MDB_ASYNC_ST new_st) { -#ifdef DEBUG - int fd; -#endif // DEBUG - wait_events=0; - - if (async_exit_status & MYSQL_WAIT_READ) - wait_events |= POLLIN; - if (async_exit_status & MYSQL_WAIT_WRITE) - wait_events|= POLLOUT; - if (wait_events) -#ifdef DEBUG - fd= mysql_get_socket(mysql); -#else - mysql_get_socket(mysql); -#endif // DEBUG - else -#ifdef DEBUG - fd= -1; -#endif // DEBUG - if (async_exit_status & MYSQL_WAIT_TIMEOUT) { - timeout=10000; - } else { - } - proxy_debug(PROXY_DEBUG_NET, 8, "fd=%d, wait_events=%d , old_ST=%d, new_ST=%d\n", fd, wait_events, async_state_machine, new_st); - async_state_machine = new_st; -} - -void MySQL_Monitor_State_Data::ping_start() { - async_exit_status = mysql_ping_start(&interr,mysql); -} - -void MySQL_Monitor_State_Data::ping_cont(short event) { - async_exit_status = mysql_ping_cont(&interr,mysql, mysql_status2(event, true)); -} -*/