MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file

Since wsrep_sync_wait & wsrep_causal_reads variables are related,
they are always kept in sync whenever one of them changes.
Same is tried on server start, where wsrep_sync_wait get updated
based on wsrep_causal_reads' value. But, since wsrep_causal_reads
is OFF by default, wsrep_sync_wait's value gets modified and loses
its WSREP_SYNC_WAIT_BEFORE_READ bit.

Fixed by syncing wsrep_sync_wait & wsrep_causal_reads values
individually on server start in mysqld_get_one_option() based
on command line arguments used.
This commit is contained in:
Nirbhay Choubey 2016-06-27 18:30:07 -04:00
commit 7ff44b1a83
7 changed files with 33 additions and 5 deletions

View file

@ -9,7 +9,6 @@ default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_node_address=127.0.0.1
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=7
[mysqld.1]

View file

@ -1,3 +1,12 @@
#
# MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file
#
SELECT @@global.wsrep_sync_wait;
@@global.wsrep_sync_wait
7
SELECT @@global.wsrep_causal_reads;
@@global.wsrep_causal_reads
1
CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
SET GLOBAL wsrep_sync_wait = 1;
SHOW TABLES LIKE '%t1';

View file

@ -5,6 +5,13 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
--echo #
--echo # MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file
--echo #
# galera_2nodes.cnf sets wsrep_sync_wait to 7
SELECT @@global.wsrep_sync_wait;
SELECT @@global.wsrep_causal_reads;
--let $wsrep_sync_wait_orig = `SELECT @@wsrep_sync_wait`
--connection node_1