summaryrefslogtreecommitdiff
path: root/sql/wsrep_var.cc
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@mariadb.com>2014-12-31 19:46:48 -0500
committerNirbhay Choubey <nirbhay@mariadb.com>2014-12-31 19:46:48 -0500
commit25aaa652c489839f5ef9e0ff6d067e8c1702970d (patch)
tree5d5422d3771c6fa5c9a91168448e371cc392e6d1 /sql/wsrep_var.cc
parent96e505e4b7635412739ed39710bcc13cf14aedf5 (diff)
downloadmariadb-git-25aaa652c489839f5ef9e0ff6d067e8c1702970d.tar.gz
MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS
Synchronous read view should not be needed for SHOW commands.
Diffstat (limited to 'sql/wsrep_var.cc')
-rw-r--r--sql/wsrep_var.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc
index e917c8f7d42..b8c454dafac 100644
--- a/sql/wsrep_var.cc
+++ b/sql/wsrep_var.cc
@@ -365,7 +365,14 @@ bool wsrep_cluster_address_update (sys_var *self, THD* thd, enum_var_type type)
*/
mysql_mutex_unlock(&LOCK_global_system_variables);
wsrep_stop_replication(thd);
+
+ /*
+ Unlock and lock LOCK_wsrep_slave_threads to maintain lock order & avoid
+ any potential deadlock.
+ */
+ mysql_mutex_unlock(&LOCK_wsrep_slave_threads);
mysql_mutex_lock(&LOCK_global_system_variables);
+ mysql_mutex_lock(&LOCK_wsrep_slave_threads);
if (wsrep_start_replication())
{