Issue with wsrep_slave_threads

Bug #1290612 reported by Raghavendra D Prabhu
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
New
High
Unassigned
5.5
New
High
Unassigned
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC
Status tracked in 5.6
5.5
Fix Released
Undecided
Unassigned
5.6
Fix Released
Undecided
Unassigned

Bug Description

set global wsrep_slave_threads=12;
set global wsrep_slave_threads=1;
set global wsrep_slave_threads=12;

causes total number of threads to 24. This is because there is no condition checking for this.

=== modified file 'sql/wsrep_applier.cc'
--- sql/wsrep_applier.cc 2013-11-10 11:09:20 +0000
+++ sql/wsrep_applier.cc 2014-03-10 23:19:08 +0000
@@ -325,6 +325,7 @@
     if (wsrep_slave_count_change < 0)
     {
       wsrep_slave_count_change++;
+ WSREP_DEBUG("Closing applier thread, to close %d", abs(wsrep_slave_count_change));
       *exit = true;
     }
     mysql_mutex_unlock(&LOCK_wsrep_slave_threads);

=== modified file 'sql/wsrep_var.cc'
--- sql/wsrep_var.cc 2014-02-27 11:31:26 +0000
+++ sql/wsrep_var.cc 2014-03-10 23:22:30 +0000
@@ -475,17 +475,22 @@

 bool wsrep_slave_threads_check (sys_var *self, THD* thd, set_var* var)
 {
+ if (wsrep_slave_count_change != 0) {
+ WSREP_DEBUG("Still closing existing threads - %d", abs(wsrep_slave_count_change));
+ return true;
+ }
   mysql_mutex_lock(&LOCK_wsrep_slave_threads);
   wsrep_slave_count_change = var->value->val_int() - wsrep_slave_threads;
   mysql_mutex_unlock(&LOCK_wsrep_slave_threads);

- return 0;
+ return false;
 }

 bool wsrep_slave_threads_update (sys_var *self, THD* thd, enum_var_type type)
 {
   if (wsrep_slave_count_change > 0)
   {
+ WSREP_DEBUG("Creating %d applier threads, total %ld", wsrep_slave_count_change, wsrep_slave_threads);
     wsrep_create_appliers(wsrep_slave_count_change);
     wsrep_slave_count_change = 0;
   }

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXC-1646

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.