ProxySQL was incorrectly not sending COM_PING when multiplexing is disabled
pull/2164/head
René Cannaò 7 years ago
parent 07e0426223
commit 12d9ae1b6b

@ -203,13 +203,7 @@ class MySQL_Data_Stream
void return_MySQL_Connection_To_Pool();
void destroy_MySQL_Connection_From_Pool(bool sq) {
MySQL_Connection *mc=myconn;
detach_connection();
unplug_backend();
mc->send_quit=sq;
MyHGM->destroy_MyConn_from_pool(mc);
}
void destroy_MySQL_Connection_From_Pool(bool sq);
void free_mysql_real_query();
void reinit_queues();
void destroy_queues();

@ -1374,7 +1374,9 @@ int MySQL_Session::handler_again___status_PINGING_SERVER() {
if (rc==0) {
myconn->async_state_machine=ASYNC_IDLE;
myconn->compute_unknown_transaction_status();
if (mysql_thread___multiplexing && (myconn->reusable==true) && myds->myconn->IsActiveTransaction()==false && myds->myconn->MultiplexDisabled()==false) {
//if (mysql_thread___multiplexing && (myconn->reusable==true) && myds->myconn->IsActiveTransaction()==false && myds->myconn->MultiplexDisabled()==false) {
// due to issue #2096 we disable the global check on mysql_thread___multiplexing
if ((myconn->reusable==true) && myds->myconn->IsActiveTransaction()==false && myds->myconn->MultiplexDisabled()==false) {
myds->return_MySQL_Connection_To_Pool();
} else {
myds->destroy_MySQL_Connection_From_Pool(true);

@ -1382,3 +1382,12 @@ void MySQL_Data_Stream::destroy_queues() {
queue_destroy(queueIN);
queue_destroy(queueOUT);
}
void MySQL_Data_Stream::destroy_MySQL_Connection_From_Pool(bool sq) {
MySQL_Connection *mc=myconn;
mc->last_time_used=sess->thread->curtime;
detach_connection();
unplug_backend();
mc->send_quit=sq;
MyHGM->destroy_MyConn_from_pool(mc);
}

Loading…
Cancel
Save