From c4b1dfb29b167fcb87ffda4cd9a783012d991369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Tue, 14 Apr 2020 02:53:07 +0200 Subject: [PATCH] wsrep_sync_wait parsed via parse_variable_number() --- include/proxysql_structs.h | 2 +- lib/MySQL_Session.cpp | 17 +---------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/include/proxysql_structs.h b/include/proxysql_structs.h index 233cc5981..97f8e1e1c 100644 --- a/include/proxysql_structs.h +++ b/include/proxysql_structs.h @@ -1009,7 +1009,7 @@ mysql_variable_st mysql_tracked_variables[] { { SQL_NET_WRITE_TIMEOUT, SETTING_VARIABLE, false, false, true, true, false, (char *)"net_write_timeout", (char *)"net_write_timeout", (char *)"60" } , { SQL_MAX_JOIN_SIZE, SETTING_VARIABLE, false, false, true, true, false, (char *)"max_join_size", (char *)"max_join_size", (char *)"18446744073709551615" } , { SQL_LOG_BIN, SETTING_VARIABLE, false, false, true, false, false, (char *)"sql_log_bin", (char *)"sql_log_bin", (char *)"1" } , - { SQL_WSREP_SYNC_WAIT, SETTING_VARIABLE, false, false, true, false, false, (char *)"wsrep_sync_wait", (char *)"wsrep_sync_wait", (char *)"0" } , + { SQL_WSREP_SYNC_WAIT, SETTING_VARIABLE, false, false, true, true, false, (char *)"wsrep_sync_wait", (char *)"wsrep_sync_wait", (char *)"0" } , }; #else extern mysql_variable_st mysql_tracked_variables[]; diff --git a/lib/MySQL_Session.cpp b/lib/MySQL_Session.cpp index 8c1e9412b..719832c46 100644 --- a/lib/MySQL_Session.cpp +++ b/lib/MySQL_Session.cpp @@ -5021,21 +5021,6 @@ bool MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_C proxy_debug(PROXY_DEBUG_MYSQL_COM, 8, "Changing connection SQL Mode to %s\n", value1.c_str()); } exit_after_SetParse = true; - } else if (var == "wsrep_sync_wait") { - std::string value1 = *values; - if ((strcasecmp(value1.c_str(),"0")==0) || (strcasecmp(value1.c_str(),"1")==0)) { - proxy_debug(PROXY_DEBUG_MYSQL_COM, 7, "Processing SET wsrep_sync_wait value %s\n", value1.c_str()); - uint32_t wsrep_sync_wait_int=SpookyHash::Hash32(value1.c_str(),value1.length(),10); - if (mysql_variables.client_get_hash(this, SQL_WSREP_SYNC_WAIT) != wsrep_sync_wait_int) { - if (!mysql_variables.client_set_value(this, SQL_WSREP_SYNC_WAIT, value1.c_str())) - return false; - proxy_debug(PROXY_DEBUG_MYSQL_COM, 5, "Changing connection session_track_gtids to %s\n", value1.c_str()); - } - exit_after_SetParse = true; - } else { - unable_to_parse_set_statement(lock_hostgroup); - return false; - } // the following two blocks of code will be simplified later } else if ((var == "sql_auto_is_null") || (var == "sql_safe_updates")) { int idx = SQL_NAME_LAST; @@ -5052,7 +5037,7 @@ bool MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_C return false; } } - } else if ( (var == "sql_select_limit") || (var == "net_write_timeout") || (var == "max_join_size") ) { + } else if ( (var == "sql_select_limit") || (var == "net_write_timeout") || (var == "max_join_size") || (var == "wsrep_sync_wait") ) { int idx = SQL_NAME_LAST; for (int i = 0 ; i < SQL_NAME_LAST ; i++) { if (mysql_tracked_variables[i].is_number) {