diff options
author | seppo <seppo.jaakola@iki.fi> | 2019-02-26 20:39:05 +0200 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2019-02-26 13:39:05 -0500 |
commit | 785092ee23e8e87fa89effc7baa57191519c2d34 (patch) | |
tree | eb0b19bf3c4780641861896fd0d516f314f954a9 /sql/sys_vars.cc | |
parent | bb970dda77ff170e9d5850b885ba968294437020 (diff) | |
download | mariadb-git-785092ee23e8e87fa89effc7baa57191519c2d34.tar.gz |
LOCK_thread_count and COND_thread_count removed from wsrep modules (#1197)
Refactored wsrep patch to not use LOCK_thread_count and COND_thread_count anymore.
This has partially been replaced by using old LOCK_wsrep_slave_threads mutex.
For slave thread count change waiting, new COND_wsrep_slave_threads signal has been added
Added LOCK_wsrep_cluster_config mutex to control that cluster address change cannot happen in parallel
Protected wsrep_slave_threads variable changes with LOCK_cluster_config mutex
This is for avoiding concurrent slave thread count and cluster joining operations to happen
Fixes according to Teemu's review
Diffstat (limited to 'sql/sys_vars.cc')
-rw-r--r-- | sql/sys_vars.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index a05cd1ff629..5e88c4e7544 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -5347,13 +5347,13 @@ static Sys_var_charptr Sys_wsrep_cluster_name( ON_CHECK(wsrep_cluster_name_check), ON_UPDATE(wsrep_cluster_name_update)); -static PolyLock_mutex PLock_wsrep_slave_threads(&LOCK_wsrep_slave_threads); +static PolyLock_mutex PLock_wsrep_cluster_config(&LOCK_wsrep_cluster_config); static Sys_var_charptr Sys_wsrep_cluster_address ( "wsrep_cluster_address", "Address to initially connect to cluster", PREALLOCATED GLOBAL_VAR(wsrep_cluster_address), CMD_LINE(REQUIRED_ARG), IN_SYSTEM_CHARSET, DEFAULT(""), - &PLock_wsrep_slave_threads, NOT_IN_BINLOG, + &PLock_wsrep_cluster_config, NOT_IN_BINLOG, ON_CHECK(wsrep_cluster_address_check), ON_UPDATE(wsrep_cluster_address_update)); @@ -5384,7 +5384,7 @@ static Sys_var_ulong Sys_wsrep_slave_threads( "wsrep_slave_threads", "Number of slave appliers to launch", GLOBAL_VAR(wsrep_slave_threads), CMD_LINE(REQUIRED_ARG), VALID_RANGE(1, 512), DEFAULT(1), BLOCK_SIZE(1), - &PLock_wsrep_slave_threads, NOT_IN_BINLOG, + &PLock_wsrep_cluster_config, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(wsrep_slave_threads_update)); |