summaryrefslogtreecommitdiff
path: root/mysql-test/suite/wsrep/r/variables.result
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@skysql.com>2014-05-08 14:45:00 -0400
committerNirbhay Choubey <nirbhay@skysql.com>2014-05-08 14:45:00 -0400
commit00b6fff2e7bedad1ecd270d9e86f991bed29482c (patch)
treedca95065f359b39b7a62185fa62d6a5209ffba98 /mysql-test/suite/wsrep/r/variables.result
parent93a403bf1d8819a711d783a186bf226a01a6fcfd (diff)
downloadmariadb-git-00b6fff2e7bedad1ecd270d9e86f991bed29482c.tar.gz
MDEV#6206: wsrep_slave_threads subtracts from max_connections
Decoupled wsrep thread count from connection count. By doing so, the number of wsrep threads (applier/rollbacker) would no longer affect the threads_connected status variable and thus maximum allowable user connections limit would be @@max_connections. Also introduced a new status variable 'wsrep_thread_count' to hold the number of wsrep applier/rollbacker threads. Added a test case.
Diffstat (limited to 'mysql-test/suite/wsrep/r/variables.result')
-rw-r--r--mysql-test/suite/wsrep/r/variables.result65
1 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result
index 01b5abe5661..ffa908ad359 100644
--- a/mysql-test/suite/wsrep/r/variables.result
+++ b/mysql-test/suite/wsrep/r/variables.result
@@ -11,4 +11,69 @@ SET SESSION wsrep_replicate_myisam= ON;
ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable and should be set with SET GLOBAL
SET GLOBAL wsrep_replicate_myisam= ON;
SET GLOBAL wsrep_replicate_myisam= OFF;
+
+#
+# MDEV#6206: wsrep_slave_threads subtracts from max_connections
+#
+call mtr.add_suppression("safe_mutex: Found wrong usage of mutex 'LOCK_wsrep_slave_threads' and 'LOCK_global_system_variables'");
+call mtr.add_suppression("WSREP: Failed to get provider options");
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+1
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 0
+
+SET GLOBAL wsrep_provider= '/usr/lib/galera/libgalera_smm.so';
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+/usr/lib/galera/libgalera_smm.so
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+NULL
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 0
+
+# Setting wsrep_cluster_address triggers the creation of
+# applier/rollbacker threads.
+SET GLOBAL wsrep_cluster_address= 'gcomm://';
+# Wait for applier threads to get created.
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+/usr/lib/galera/libgalera_smm.so
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+gcomm://
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 2
+
+SET @wsrep_slave_threads_saved= @@global.wsrep_slave_threads;
+SET GLOBAL wsrep_slave_threads= 10;
+# Wait for applier threads to get created.
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 11
+SET GLOBAL wsrep_slave_threads= @wsrep_slave_threads_saved;
+SET GLOBAL wsrep_cluster_address= '';
+SET GLOBAL wsrep_provider= 'none';
# End of test.