summaryrefslogtreecommitdiff
path: root/sql/wsrep_var.cc
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2018-11-22 16:30:20 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2018-11-22 16:36:16 +0200
commitdde0a83fff0378d80fcef0d7877615cd1cd83770 (patch)
tree1b9cf2270da14a8d3b3288592c707d216b868620 /sql/wsrep_var.cc
parent2b49e156861386f6138d37382473b06bed4daa90 (diff)
downloadmariadb-git-dde0a83fff0378d80fcef0d7877615cd1cd83770.tar.gz
MDEV-17801: Galera test failure on galera_var_reject_queries
Problem was that controlling connection i.e. connection that executed the query SET GLOBAL wsrep_reject_queries = ALL_KILL; was also killed but server would try to send result from that query to controlling connection resulting a assertion mysqld: /home/jan/mysql/10.2-sst/include/mysql/psi/mysql_socket.h:738: inline_mysql_socket_send: Assertion `mysql_socket.fd != -1' failed. as socket was closed when controlling connection was closed. wsrep_close_client_connections() Do not close controlling connection and instead of wsrep_close_thread() we do now soft kill by THD::awake wsrep_reject_queries_update() Call wsrep_close_client_connections using current thd.
Diffstat (limited to 'sql/wsrep_var.cc')
-rw-r--r--sql/wsrep_var.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc
index bac19832ebb..60b4cb6c11a 100644
--- a/sql/wsrep_var.cc
+++ b/sql/wsrep_var.cc
@@ -428,7 +428,8 @@ bool wsrep_reject_queries_update(sys_var *self, THD* thd, enum_var_type type)
WSREP_INFO("Rejecting client queries due to manual setting");
break;
case WSREP_REJECT_ALL_KILL:
- wsrep_close_client_connections(FALSE);
+ /* close all client connections, but this one */
+ wsrep_close_client_connections(FALSE, thd);
WSREP_INFO("Rejecting client queries and killing connections due to manual setting");
break;
default: