Commit c7ad886a authored by Nirbhay Choubey's avatar Nirbhay Choubey

MDEV#6296: runtime adjustment of wsrep_slave_threads creates

threads but never removes them

When wsrep_slave_threads is changed at runtime, the old "change"
value is not taken into account and thus successive SETs can
make wsrep_slave_threads value inconsistent with the actual
number of applier threads present.
parent 85032e36
...@@ -453,7 +453,7 @@ void wsrep_node_address_init (const char* value) ...@@ -453,7 +453,7 @@ void wsrep_node_address_init (const char* value)
bool wsrep_slave_threads_check (sys_var *self, THD* thd, set_var* var) bool wsrep_slave_threads_check (sys_var *self, THD* thd, set_var* var)
{ {
mysql_mutex_lock(&LOCK_wsrep_slave_threads); mysql_mutex_lock(&LOCK_wsrep_slave_threads);
wsrep_slave_count_change = var->value->val_int() - wsrep_slave_threads; wsrep_slave_count_change += (var->value->val_int() - wsrep_slave_threads);
mysql_mutex_unlock(&LOCK_wsrep_slave_threads); mysql_mutex_unlock(&LOCK_wsrep_slave_threads);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment