[Commits] 5017c261d4b: Fix test failure on test MW-86 and remove MW-360 test.

jan jan.lindstrom at mariadb.com
Tue Aug 15 13:59:18 EEST 2017


revision-id: 5017c261d4b6332ffff70919080a99fd5e459ed1 (mariadb-galera-10.0.31-46-g5017c261d4b)
parent(s): b5323054af2375cf5595c7d18fb2f22849f4e844
author: Jan Lindström
committer: Jan Lindström
timestamp: 2017-08-15 13:57:15 +0300
message:

Fix test failure on test MW-86 and remove MW-360 test.

Merged from mysql-wsrep-bugs following:

GCF-1058 MTR test galera.MW-86 fails on repeated runs
Wait for the sync point sync.wsrep_apply_cb to be reached before
executing the test and clearing the debug flag sync.wsrep_apply_cb.

The race scenario:

Intended behavior:
node2: set sync.wsrep_apply_cb in order to start waiting in the background INSERT
node1: INSERT start
node2 (background): INSERT start
node1: INSERT end
node2: send signal to background INSERT: "stop waiting and continue executing"
node2: clear sync.wsrep_apply_cb as no longer needed
node2 (background): consume the signal
node2 (background): INSERT end
node2: DROP TABLE
node2: check no pending signals are left - ok

What happens occasionally (unexpected):
node2: set sync.wsrep_apply_cb in order to start waiting in the background INSERT
node1: INSERT start
node2 (background): INSERT start
node1: INSERT end
// The background INSERT still has _not_ reached the place where it starts
// waiting for the signal:
// DBUG_EXECUTE_IF("sync.wsrep_apply_cb", "now wait_for...");
node2: send signal to background INSERT: "stop waiting and continue executing"
node2: clear sync.wsrep_apply_cb as no longer needed
// The background INSERT reaches DBUG_EXECUTE_IF("sync.wsrep_apply_cb", ...)
// but sync.wsrep_apply_cb has already been cleared and the "wait" code is not
// executed. The signal remains unconsumed.
node2 (background): INSERT end
node2: DROP TABLE
node2: check no pending signals are left - failure, signal.wsrep_apply_cb is
pending (not consumed)

Remove MW-360 test case as it is not intended for MariaDB (uses
MySQL GTID).

---
 mysql-test/suite/galera/r/MW-360.result            | 161 ---------------------
 mysql-test/suite/galera/r/MW-86-wait1.result       |  48 ++++++
 mysql-test/suite/galera/r/MW-86-wait8.result       |  50 +++++++
 mysql-test/suite/galera/r/MW-86.result             |  65 ---------
 mysql-test/suite/galera/t/MW-360-master.opt        |   2 -
 mysql-test/suite/galera/t/MW-360.test              | 103 -------------
 .../t/{MW-86-master.opt => MW-86-wait1-master.opt} |   0
 mysql-test/suite/galera/t/MW-86-wait1.test         | 106 ++++++++++++++
 mysql-test/suite/galera/t/MW-86-wait8-master.opt   |   1 +
 .../galera/t/{MW-86.test => MW-86-wait8.test}      | 125 +++++-----------
 sql/sql_class.cc                                   |   6 -
 sql/sql_parse.cc                                   |   4 +-
 sql/wsrep_applier.cc                               |   3 +-
 sql/wsrep_mysqld.cc                                |   2 -
 sql/wsrep_var.cc                                   |  45 +++---
 15 files changed, 267 insertions(+), 454 deletions(-)

diff --git a/mysql-test/suite/galera/r/MW-360.result b/mysql-test/suite/galera/r/MW-360.result
deleted file mode 100644
index 4195b8f07bc..00000000000
--- a/mysql-test/suite/galera/r/MW-360.result
+++ /dev/null
@@ -1,161 +0,0 @@
-SET GLOBAL wsrep_on=OFF;
-RESET MASTER;
-SET GLOBAL wsrep_on=ON;
-SET GLOBAL wsrep_on=OFF;
-RESET MASTER;
-SET GLOBAL wsrep_on=ON;
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-DROP TABLE t1;
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-DROP TABLE t1, t2;
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-DROP TABLE t1, t2;
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-CREATE TEMPORARY TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t3 VALUES (3);
-DROP TABLE t1, t2, t3;
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t3 VALUES (3);
-DROP TABLE t1, t2, t3;
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (2);
-DROP TABLE t1;
-DROP TABLE t1;
-SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
-Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-mysqld-bin.000001	120	Previous_gtids	1	151	
-mysqld-bin.000001	151	Gtid	1	199	SET @@SESSION.GTID_NEXT= '<local_uuid>:1'
-mysqld-bin.000001	199	Query	1	339	use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
-mysqld-bin.000001	339	Gtid	1	387	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:1'
-mysqld-bin.000001	387	Query	1	503	use `test`; CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	503	Gtid	1	551	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:2'
-mysqld-bin.000001	551	Query	1	628	BEGIN
-mysqld-bin.000001	628	Table_map	1	673	table_id: # (test.t2)
-mysqld-bin.000001	673	Write_rows	1	713	table_id: # flags: STMT_END_F
-mysqld-bin.000001	713	Xid	1	744	COMMIT /* xid=# */
-mysqld-bin.000001	744	Gtid	1	792	SET @@SESSION.GTID_NEXT= '<local_uuid>:2'
-mysqld-bin.000001	792	Query	1	927	use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
-mysqld-bin.000001	927	Gtid	1	975	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:3'
-mysqld-bin.000001	975	Query	1	1090	use `test`; DROP TABLE `t2` /* generated by server */
-mysqld-bin.000001	1090	Gtid	1	1138	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:4'
-mysqld-bin.000001	1138	Query	1	1254	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	1254	Gtid	1	1302	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:5'
-mysqld-bin.000001	1302	Query	1	1379	BEGIN
-mysqld-bin.000001	1379	Table_map	1	1424	table_id: # (test.t1)
-mysqld-bin.000001	1424	Write_rows	1	1464	table_id: # flags: STMT_END_F
-mysqld-bin.000001	1464	Xid	1	1495	COMMIT /* xid=# */
-mysqld-bin.000001	1495	Gtid	1	1543	SET @@SESSION.GTID_NEXT= '<local_uuid>:3'
-mysqld-bin.000001	1543	Query	1	1678	use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */
-mysqld-bin.000001	1678	Gtid	1	1726	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:6'
-mysqld-bin.000001	1726	Query	1	1841	use `test`; DROP TABLE `t1` /* generated by server */
-mysqld-bin.000001	1841	Gtid	1	1889	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:7'
-mysqld-bin.000001	1889	Query	1	2005	use `test`; CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	2005	Gtid	1	2053	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:8'
-mysqld-bin.000001	2053	Query	1	2130	BEGIN
-mysqld-bin.000001	2130	Table_map	1	2175	table_id: # (test.t2)
-mysqld-bin.000001	2175	Write_rows	1	2215	table_id: # flags: STMT_END_F
-mysqld-bin.000001	2215	Xid	1	2246	COMMIT /* xid=# */
-mysqld-bin.000001	2246	Gtid	1	2294	SET @@SESSION.GTID_NEXT= '<local_uuid>:4'
-mysqld-bin.000001	2294	Query	1	2434	use `test`; DROP TEMPORARY TABLE IF EXISTS `t1`,`t3` /* generated by server */
-mysqld-bin.000001	2434	Gtid	1	2482	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:9'
-mysqld-bin.000001	2482	Query	1	2597	use `test`; DROP TABLE `t2` /* generated by server */
-mysqld-bin.000001	2597	Gtid	1	2645	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:10'
-mysqld-bin.000001	2645	Query	1	2761	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	2761	Gtid	1	2809	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:11'
-mysqld-bin.000001	2809	Query	1	2886	BEGIN
-mysqld-bin.000001	2886	Table_map	1	2931	table_id: # (test.t1)
-mysqld-bin.000001	2931	Write_rows	1	2971	table_id: # flags: STMT_END_F
-mysqld-bin.000001	2971	Xid	1	3002	COMMIT /* xid=# */
-mysqld-bin.000001	3002	Gtid	1	3050	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:12'
-mysqld-bin.000001	3050	Query	1	3166	use `test`; CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	3166	Gtid	1	3214	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:13'
-mysqld-bin.000001	3214	Query	1	3291	BEGIN
-mysqld-bin.000001	3291	Table_map	1	3336	table_id: # (test.t3)
-mysqld-bin.000001	3336	Write_rows	1	3376	table_id: # flags: STMT_END_F
-mysqld-bin.000001	3376	Xid	1	3407	COMMIT /* xid=# */
-mysqld-bin.000001	3407	Gtid	1	3455	SET @@SESSION.GTID_NEXT= '<local_uuid>:5'
-mysqld-bin.000001	3455	Query	1	3590	use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */
-mysqld-bin.000001	3590	Gtid	1	3638	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:14'
-mysqld-bin.000001	3638	Query	1	3758	use `test`; DROP TABLE `t1`,`t3` /* generated by server */
-mysqld-bin.000001	3758	Gtid	1	3806	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:15'
-mysqld-bin.000001	3806	Query	1	3922	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	3922	Gtid	1	3970	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:16'
-mysqld-bin.000001	3970	Query	1	4047	BEGIN
-mysqld-bin.000001	4047	Table_map	1	4092	table_id: # (test.t1)
-mysqld-bin.000001	4092	Write_rows	1	4132	table_id: # flags: STMT_END_F
-mysqld-bin.000001	4132	Xid	1	4163	COMMIT /* xid=# */
-mysqld-bin.000001	4163	Gtid	1	4211	SET @@SESSION.GTID_NEXT= '<local_uuid>:6'
-mysqld-bin.000001	4211	Query	1	4351	use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
-mysqld-bin.000001	4351	Gtid	1	4399	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:17'
-mysqld-bin.000001	4399	Query	1	4514	use `test`; DROP TABLE `t1` /* generated by server */
-SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
-Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-mysqld-bin.000001	120	Previous_gtids	2	151	
-mysqld-bin.000001	151	Gtid	1	199	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:1'
-mysqld-bin.000001	199	Query	1	315	use `test`; CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	315	Gtid	1	363	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:2'
-mysqld-bin.000001	363	Query	1	431	BEGIN
-mysqld-bin.000001	431	Table_map	1	476	table_id: # (test.t2)
-mysqld-bin.000001	476	Write_rows	1	516	table_id: # flags: STMT_END_F
-mysqld-bin.000001	516	Xid	1	547	COMMIT /* xid=# */
-mysqld-bin.000001	547	Gtid	1	595	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:3'
-mysqld-bin.000001	595	Query	1	710	use `test`; DROP TABLE `t2` /* generated by server */
-mysqld-bin.000001	710	Gtid	1	758	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:4'
-mysqld-bin.000001	758	Query	1	874	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	874	Gtid	1	922	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:5'
-mysqld-bin.000001	922	Query	1	990	BEGIN
-mysqld-bin.000001	990	Table_map	1	1035	table_id: # (test.t1)
-mysqld-bin.000001	1035	Write_rows	1	1075	table_id: # flags: STMT_END_F
-mysqld-bin.000001	1075	Xid	1	1106	COMMIT /* xid=# */
-mysqld-bin.000001	1106	Gtid	1	1154	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:6'
-mysqld-bin.000001	1154	Query	1	1269	use `test`; DROP TABLE `t1` /* generated by server */
-mysqld-bin.000001	1269	Gtid	1	1317	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:7'
-mysqld-bin.000001	1317	Query	1	1433	use `test`; CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	1433	Gtid	1	1481	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:8'
-mysqld-bin.000001	1481	Query	1	1549	BEGIN
-mysqld-bin.000001	1549	Table_map	1	1594	table_id: # (test.t2)
-mysqld-bin.000001	1594	Write_rows	1	1634	table_id: # flags: STMT_END_F
-mysqld-bin.000001	1634	Xid	1	1665	COMMIT /* xid=# */
-mysqld-bin.000001	1665	Gtid	1	1713	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:9'
-mysqld-bin.000001	1713	Query	1	1828	use `test`; DROP TABLE `t2` /* generated by server */
-mysqld-bin.000001	1828	Gtid	1	1876	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:10'
-mysqld-bin.000001	1876	Query	1	1992	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	1992	Gtid	1	2040	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:11'
-mysqld-bin.000001	2040	Query	1	2108	BEGIN
-mysqld-bin.000001	2108	Table_map	1	2153	table_id: # (test.t1)
-mysqld-bin.000001	2153	Write_rows	1	2193	table_id: # flags: STMT_END_F
-mysqld-bin.000001	2193	Xid	1	2224	COMMIT /* xid=# */
-mysqld-bin.000001	2224	Gtid	1	2272	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:12'
-mysqld-bin.000001	2272	Query	1	2388	use `test`; CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	2388	Gtid	1	2436	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:13'
-mysqld-bin.000001	2436	Query	1	2504	BEGIN
-mysqld-bin.000001	2504	Table_map	1	2549	table_id: # (test.t3)
-mysqld-bin.000001	2549	Write_rows	1	2589	table_id: # flags: STMT_END_F
-mysqld-bin.000001	2589	Xid	1	2620	COMMIT /* xid=# */
-mysqld-bin.000001	2620	Gtid	1	2668	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:14'
-mysqld-bin.000001	2668	Query	1	2788	use `test`; DROP TABLE `t1`,`t3` /* generated by server */
-mysqld-bin.000001	2788	Gtid	1	2836	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:15'
-mysqld-bin.000001	2836	Query	1	2952	use `test`; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
-mysqld-bin.000001	2952	Gtid	1	3000	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:16'
-mysqld-bin.000001	3000	Query	1	3068	BEGIN
-mysqld-bin.000001	3068	Table_map	1	3113	table_id: # (test.t1)
-mysqld-bin.000001	3113	Write_rows	1	3153	table_id: # flags: STMT_END_F
-mysqld-bin.000001	3153	Xid	1	3184	COMMIT /* xid=# */
-mysqld-bin.000001	3184	Gtid	1	3232	SET @@SESSION.GTID_NEXT= '<cluster_uuid>:17'
-mysqld-bin.000001	3232	Query	1	3347	use `test`; DROP TABLE `t1` /* generated by server */
diff --git a/mysql-test/suite/galera/r/MW-86-wait1.result b/mysql-test/suite/galera/r/MW-86-wait1.result
new file mode 100644
index 00000000000..a38255eff8f
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-86-wait1.result
@@ -0,0 +1,48 @@
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
+SET SESSION wsrep_sync_wait = 1;
+SET GLOBAL debug = "+d,sync.wsrep_apply_cb";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+CREATE TABLE t_wait1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t_wait1 VALUES (1);
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+SHOW BINARY LOGS;
+SHOW BINLOG EVENTS;
+SHOW COLUMNS FROM t1;
+SHOW CREATE EVENT e1;
+SHOW CREATE FUNCTION f1;
+SHOW CREATE PROCEDURE p1;
+SHOW CREATE TABLE t1;
+SHOW CREATE TRIGGER tr1;
+SHOW CREATE VIEW v1;
+SHOW DATABASES;
+SHOW ENGINE InnoDB STATUS;
+SHOW FUNCTION CODE f1;
+SHOW FUNCTION STATUS;
+SHOW GRANTS FOR 'root'@'localhost';
+SHOW INDEX FROM t1;
+SHOW OPEN TABLES;
+SHOW PROCEDURE CODE p1;
+SHOW PROCEDURE STATUS;
+SHOW PRIVILEGES;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW TABLE STATUS;
+SHOW TABLES;
+SHOW TRIGGERS;
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+SHOW WARNINGS;
+SET GLOBAL debug = "-d,sync.wsrep_apply_cb";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+SET SESSION debug_sync = "now SIGNAL signal.wsrep_apply_cb";
+SET SESSION wsrep_sync_wait = default;
+DROP TABLE t_wait1;
+SET GLOBAL debug = NULL;
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+SET debug_sync='RESET';
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
diff --git a/mysql-test/suite/galera/r/MW-86-wait8.result b/mysql-test/suite/galera/r/MW-86-wait8.result
new file mode 100644
index 00000000000..04c93e9a9f2
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-86-wait8.result
@@ -0,0 +1,50 @@
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
+SET SESSION wsrep_sync_wait = 8;
+SET GLOBAL debug = "+d,sync.wsrep_apply_cb";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+CREATE TABLE t_wait8 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t_wait8 VALUES (1);
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+SHOW BINARY LOGS;
+SHOW BINLOG EVENTS;
+SHOW COLUMNS FROM t1;
+SHOW CREATE DATABASE db1;
+SHOW CREATE EVENT e1;
+SHOW CREATE FUNCTION f1;
+SHOW CREATE PROCEDURE p1;
+SHOW CREATE TABLE t1;
+SHOW CREATE TRIGGER tr1;
+SHOW CREATE VIEW v1;
+SHOW DATABASES;
+SHOW ENGINE InnoDB STATUS;
+SHOW FUNCTION CODE f1;
+SHOW FUNCTION STATUS;
+SHOW GRANTS FOR 'root'@'localhost';
+SHOW INDEX FROM t1;
+SHOW OPEN TABLES;
+SHOW PROCEDURE CODE p1;
+SHOW PROCEDURE STATUS;
+SHOW PRIVILEGES;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW TABLE STATUS;
+SHOW TABLES;
+SHOW TRIGGERS;
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+SHOW WARNINGS;
+SET GLOBAL debug = "-d,sync.wsrep_apply_cb";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+SET SESSION wsrep_sync_wait = default;
+DROP TABLE t_wait8;
+SET GLOBAL debug = NULL;
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+SET debug_sync='RESET';
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
diff --git a/mysql-test/suite/galera/r/MW-86.result b/mysql-test/suite/galera/r/MW-86.result
deleted file mode 100644
index b29175216a8..00000000000
--- a/mysql-test/suite/galera/r/MW-86.result
+++ /dev/null
@@ -1,65 +0,0 @@
-SET SESSION wsrep_sync_wait = 1;
-SET GLOBAL DEBUG = "d,sync.wsrep_apply_cb";
-CREATE DATABASE db1;
-SHOW BINARY LOGS;
-SHOW BINLOG EVENTS;
-SHOW COLUMNS FROM t1;
-SHOW CREATE DATABASE db1;
-SHOW CREATE EVENT e1;
-SHOW CREATE FUNCTION f1;
-SHOW CREATE PROCEDURE p1;
-SHOW CREATE TABLE t1;
-SHOW CREATE TRIGGER tr1;
-SHOW CREATE VIEW v1;
-SHOW DATABASES;
-SHOW ENGINE InnoDB STATUS;
-SHOW FUNCTION CODE f1;
-SHOW FUNCTION STATUS;
-SHOW GRANTS FOR 'root'@'localhost';
-SHOW INDEX FROM t1;
-SHOW OPEN TABLES;
-SHOW PROCEDURE CODE p1;
-SHOW PROCEDURE STATUS;
-SHOW PRIVILEGES;
-SHOW STATUS LIKE 'wsrep_cluster_size';
-SHOW TABLE STATUS;
-SHOW TABLES;
-SHOW TRIGGERS;
-SHOW GLOBAL VARIABLES LIKE 'foo_bar';
-SHOW WARNINGS;
-SET GLOBAL DEBUG = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
-SET SESSION wsrep_sync_wait = 8;
-DROP DATABASE db1;
-SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";
-SET SESSION wsrep_sync_wait = 8;
-SET GLOBAL DEBUG = "d,sync.wsrep_apply_cb";
-CREATE TABLE q (f1 INTEGER) ENGINE=InnoDB;
-SHOW BINARY LOGS;
-SHOW BINLOG EVENTS;
-SHOW COLUMNS FROM t1;
-SHOW CREATE DATABASE db1;
-SHOW CREATE EVENT e1;
-SHOW CREATE FUNCTION f1;
-SHOW CREATE PROCEDURE p1;
-SHOW CREATE TABLE t1;
-SHOW CREATE TRIGGER tr1;
-SHOW CREATE VIEW v1;
-SHOW DATABASES;
-SHOW ENGINE InnoDB STATUS;
-SHOW FUNCTION CODE f1;
-SHOW FUNCTION STATUS;
-SHOW GRANTS FOR 'root'@'localhost';
-SHOW INDEX FROM t1;
-SHOW OPEN TABLES;
-SHOW PROCEDURE CODE p1;
-SHOW PROCEDURE STATUS;
-SHOW PRIVILEGES;
-SHOW STATUS LIKE 'wsrep_cluster_size';
-SHOW TABLE STATUS;
-SHOW TABLES;
-SHOW TRIGGERS;
-SHOW GLOBAL VARIABLES LIKE 'foo_bar';
-SHOW WARNINGS;
-SET GLOBAL DEBUG = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
diff --git a/mysql-test/suite/galera/t/MW-360-master.opt b/mysql-test/suite/galera/t/MW-360-master.opt
deleted file mode 100644
index 6cfaed135e4..00000000000
--- a/mysql-test/suite/galera/t/MW-360-master.opt
+++ /dev/null
@@ -1,2 +0,0 @@
---gtid-mode=ON --log-bin --log-slave-updates --enforce-gtid-consistency
-
diff --git a/mysql-test/suite/galera/t/MW-360.test b/mysql-test/suite/galera/t/MW-360.test
deleted file mode 100644
index 7ea743cdb3d..00000000000
--- a/mysql-test/suite/galera/t/MW-360.test
+++ /dev/null
@@ -1,103 +0,0 @@
-#
-# MW-360 DROP TABLE containing temporary tables results in binlog divergence
-#
-
---source include/galera_cluster.inc
---source include/have_binlog_format_row.inc
-
---connection node_1
-SET GLOBAL wsrep_on=OFF;
-RESET MASTER;
-SET GLOBAL wsrep_on=ON;
-
---connection node_2
-SET GLOBAL wsrep_on=OFF;
-RESET MASTER;
-SET GLOBAL wsrep_on=ON;
-
---connection node_1
-
-#
-# Straightforward temporary table
-#
-
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-DROP TABLE t1;
---let $local_uuid = `SELECT LEFT(@@global.gtid_executed, 36)`
-
-#
-# A mix of normal and temporary tables
-#
-
-# Temp table first, normal table second
-
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-
-CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-
-DROP TABLE t1, t2;
-
-# Normal table first, temporary table second
-
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-
-CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-
-DROP TABLE t1, t2;
-
-# Temporary table first, normal table second, temp table third
-
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-
-CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-
-CREATE TEMPORARY TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t3 VALUES (3);
-
-DROP TABLE t1, t2, t3;
-
-# Normal table first, temporary table second, normal table third
-
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-
-CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (2);
-
-CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t3 VALUES (3);
-
-DROP TABLE t1, t2, t3;
-
-#
-# A temporary table masking a normal one
-# 
-
-CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1);
-
-CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (2);
-
-DROP TABLE t1;
-DROP TABLE t1;
-
---connection node_2
---let $cluster_uuid = `SELECT LEFT(@@global.gtid_executed, 36)`
-
---connection node_1
---replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
---replace_result $local_uuid <local_uuid> $cluster_uuid <cluster_uuid>
-SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
-
---connection node_2
---replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
---replace_result $local_uuid <local_uuid> $cluster_uuid <cluster_uuid>
-SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
diff --git a/mysql-test/suite/galera/t/MW-86-master.opt b/mysql-test/suite/galera/t/MW-86-wait1-master.opt
similarity index 100%
rename from mysql-test/suite/galera/t/MW-86-master.opt
rename to mysql-test/suite/galera/t/MW-86-wait1-master.opt
diff --git a/mysql-test/suite/galera/t/MW-86-wait1.test b/mysql-test/suite/galera/t/MW-86-wait1.test
new file mode 100644
index 00000000000..6c0982ad8b3
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait1.test
@@ -0,0 +1,106 @@
+#
+# SHOW commands no longer obey wsrep_sync_wait = 1 (WSREP_SYNC_WAIT_BEFORE_READ)
+# (they do not wait for the background INSERT in the applier in node_2 to
+# complete)
+#
+--source include/galera_cluster.inc
+--source include/have_binlog_format_row.inc
+--source include/have_debug_sync.inc
+
+--connection node_2
+# Make sure no signals have been leftover from previous tests to surprise us.
+SELECT @@debug_sync;
+
+SET SESSION wsrep_sync_wait = 1;
+SET GLOBAL debug = "+d,sync.wsrep_apply_cb";
+
+--connection node_1
+CREATE TABLE t_wait1 (f1 INTEGER) ENGINE=InnoDB;
+# This will complete in node_1 but will start a background apply in node_2
+# which will stop because of sync.wsrep_apply_cb we set above.
+INSERT INTO t_wait1 VALUES (1);
+
+--connection node_2
+
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+
+--disable_result_log
+
+SHOW BINARY LOGS;
+
+SHOW BINLOG EVENTS;
+
+--error ER_NO_SUCH_TABLE
+SHOW COLUMNS FROM t1;
+
+--error ER_EVENT_DOES_NOT_EXIST
+SHOW CREATE EVENT e1;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW CREATE FUNCTION f1;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW CREATE PROCEDURE p1;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t1;
+
+--error ER_TRG_DOES_NOT_EXIST
+SHOW CREATE TRIGGER tr1;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE VIEW v1;
+
+SHOW DATABASES;
+
+SHOW ENGINE InnoDB STATUS;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW FUNCTION CODE f1;
+
+SHOW FUNCTION STATUS;
+
+SHOW GRANTS FOR 'root'@'localhost';
+
+--error ER_NO_SUCH_TABLE
+SHOW INDEX FROM t1;
+
+SHOW OPEN TABLES;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW PROCEDURE CODE p1;
+
+SHOW PROCEDURE STATUS;
+
+SHOW PRIVILEGES;
+
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+SHOW TABLE STATUS;
+
+SHOW TABLES;
+
+SHOW TRIGGERS;
+
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+
+--error 0
+SHOW WARNINGS;
+
+--enable_result_log
+
+# Unblock the background INSERT and remove the sync point.
+SET GLOBAL debug = "-d,sync.wsrep_apply_cb";
+SET SESSION debug_sync = "now SIGNAL signal.wsrep_apply_cb";
+
+SET SESSION wsrep_sync_wait = default;
+
+# This will wait for the background INSERT to complete before we quit
+# from the test.
+DROP TABLE t_wait1;
+
+SET GLOBAL debug = NULL;
+SET debug_sync='RESET';
+
+# Make sure no pending signals are leftover to surprise subsequent tests.
+SELECT @@debug_sync;
diff --git a/mysql-test/suite/galera/t/MW-86-wait8-master.opt b/mysql-test/suite/galera/t/MW-86-wait8-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait8-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/MW-86.test b/mysql-test/suite/galera/t/MW-86-wait8.test
similarity index 54%
rename from mysql-test/suite/galera/t/MW-86.test
rename to mysql-test/suite/galera/t/MW-86-wait8.test
index c6550ecdaaa..65e612c5c8e 100644
--- a/mysql-test/suite/galera/t/MW-86.test
+++ b/mysql-test/suite/galera/t/MW-86-wait8.test
@@ -1,104 +1,32 @@
---source include/galera_cluster.inc
---source include/have_binlog_format_row.inc
-
 #
-# Test 1: SHOW commands no longer obey wsrep_sync_wait = 1
+# SHOW commands now obey wsrep_sync_wait = 8 (WSREP_SYNC_WAIT_BEFORE_SHOW)
 #
+--source include/galera_cluster.inc
+--source include/have_binlog_format_row.inc
+--source include/have_debug_sync.inc
 
 --connection node_2
-SET SESSION wsrep_sync_wait = 1;
-SET GLOBAL DEBUG = "d,sync.wsrep_apply_cb";
---disable_result_log
-
---connection node_1
-CREATE DATABASE db1;
-
---connection node_2
-SHOW BINARY LOGS;
-
-SHOW BINLOG EVENTS;
-
---error ER_NO_SUCH_TABLE
-SHOW COLUMNS FROM t1;
-
---error ER_BAD_DB_ERROR
-SHOW CREATE DATABASE db1;
-
---error ER_EVENT_DOES_NOT_EXIST
-SHOW CREATE EVENT e1;
-
---error ER_SP_DOES_NOT_EXIST
-SHOW CREATE FUNCTION f1;
-
---error ER_SP_DOES_NOT_EXIST
-SHOW CREATE PROCEDURE p1;
-
---error ER_NO_SUCH_TABLE
-SHOW CREATE TABLE t1;
-
---error ER_TRG_DOES_NOT_EXIST
-SHOW CREATE TRIGGER tr1;
-
---error ER_NO_SUCH_TABLE
-SHOW CREATE VIEW v1;
-
-SHOW DATABASES;
-
-SHOW ENGINE InnoDB STATUS;
-
---error ER_SP_DOES_NOT_EXIST
-SHOW FUNCTION CODE f1;
-
-SHOW FUNCTION STATUS;
-
-SHOW GRANTS FOR 'root'@'localhost';
-
---error ER_NO_SUCH_TABLE
-SHOW INDEX FROM t1;
-
-SHOW OPEN TABLES;
-
---error ER_SP_DOES_NOT_EXIST
-SHOW PROCEDURE CODE p1;
-
-SHOW PROCEDURE STATUS;
-
-SHOW PRIVILEGES;
-
-SHOW STATUS LIKE 'wsrep_cluster_size';
-
-SHOW TABLE STATUS;
-
-SHOW TABLES;
-
-SHOW TRIGGERS;
-
-SHOW GLOBAL VARIABLES LIKE 'foo_bar';
-
---error 0
-SHOW WARNINGS;
-
-SET GLOBAL DEBUG = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+# Make sure no signals have been leftover from previous tests to surprise us.
+SELECT @@debug_sync;
 
 SET SESSION wsrep_sync_wait = 8;
-DROP DATABASE db1;
-
+SET GLOBAL debug = "+d,sync.wsrep_apply_cb";
 
-#
-# Test 2: SHOW commands now obey wsrep_sync_wait = 8
-#
+--connection node_1
+CREATE TABLE t_wait8 (f1 INTEGER) ENGINE=InnoDB;
+# This will complete in node_1 but will start a background apply in node_2
+# which will stop because of sync.wsrep_apply_cb we set above.
+INSERT INTO t_wait8 VALUES (1);
 
 --connection node_2
+
 --let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
 SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";
-SET SESSION wsrep_sync_wait = 8;
-SET GLOBAL DEBUG = "d,sync.wsrep_apply_cb";
 
---connection node_1
-CREATE TABLE q (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+
+--disable_result_log
 
---connection node_2
 --error ER_LOCK_WAIT_TIMEOUT
 SHOW BINARY LOGS;
 
@@ -177,11 +105,24 @@ SHOW GLOBAL VARIABLES LIKE 'foo_bar';
 --error 0
 SHOW WARNINGS;
 
-SET GLOBAL DEBUG = "";
-SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+--enable_result_log
 
 --disable_query_log
 --eval SET GLOBAL wsrep_provider_options = "$wsrep_provider_options_orig"
+--enable_query_log
+
+# Unblock the background INSERT and remove the sync point.
+SET GLOBAL debug = "-d,sync.wsrep_apply_cb";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+SET SESSION wsrep_sync_wait = default;
+
+# This will wait for the background INSERT to complete before we quit
+# from the test.
+DROP TABLE t_wait8;
+
+SET GLOBAL debug = NULL;
+SET debug_sync='RESET';
 
-SET SESSION wsrep_sync_wait = 15;
-DROP TABLE q;
+# Make sure no pending signals are leftover to surprise subsequent tests.
+SELECT @@debug_sync;
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 5964f4475a4..83cdaadb3b9 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1635,12 +1635,6 @@ void THD::init(void)
   wsrep_affected_rows     = 0;
   wsrep_replicate_GTID    = false;
   wsrep_skip_wsrep_GTID   = false;
-  /*
-    @@wsrep_causal_reads is now being handled via wsrep_sync_wait, update it
-    appropriately.
-  */
-  if (variables.wsrep_causal_reads)
-    variables.wsrep_sync_wait|= WSREP_SYNC_WAIT_BEFORE_READ;
 #endif /* WITH_WSREP */
 
   if (variables.sql_log_bin)
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index c487835c84e..e561aa521e2 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -2756,6 +2756,7 @@ mysql_execute_command(THD *thd)
 #endif
   case SQLCOM_SHOW_STATUS:
   {
+    WSREP_SYNC_WAIT(thd, WSREP_SYNC_WAIT_BEFORE_SHOW);
     execute_show_status(thd, all_tables);
     break;
   }
@@ -5808,11 +5809,10 @@ static bool execute_show_status(THD *thd, TABLE_LIST *all_tables)
   bool res;
   system_status_var old_status_var= thd->status_var;
   thd->initial_status_var= &old_status_var;
-  WSREP_SYNC_WAIT(thd, WSREP_SYNC_WAIT_BEFORE_SHOW);
   if (!(res= check_table_access(thd, SELECT_ACL, all_tables, FALSE,
                                 UINT_MAX, FALSE)))
     res= execute_sqlcom_select(thd, all_tables);
-error:
+
   /* Don't log SHOW STATUS commands to slow query log */
   thd->server_status&= ~(SERVER_QUERY_NO_INDEX_USED |
                          SERVER_QUERY_NO_GOOD_INDEX_USED);
diff --git a/sql/wsrep_applier.cc b/sql/wsrep_applier.cc
index 49087d09224..db92878dbe5 100644
--- a/sql/wsrep_applier.cc
+++ b/sql/wsrep_applier.cc
@@ -224,7 +224,8 @@ wsrep_cb_status_t wsrep_apply_cb(void* const             ctx,
                  {
                    const char act[]=
                      "now "
-                     "wait_for signal.wsrep_apply_cb";
+                     "SIGNAL sync.wsrep_apply_cb_reached "
+                     "WAIT_FOR signal.wsrep_apply_cb";
                    DBUG_ASSERT(!debug_sync_set_action(thd,
                                                       STRING_WITH_LEN(act)));
                  };);
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
index 6e847a33dfb..49988287933 100644
--- a/sql/wsrep_mysqld.cc
+++ b/sql/wsrep_mysqld.cc
@@ -809,8 +809,6 @@ bool wsrep_must_sync_wait (THD* thd, uint mask)
 {
   return (thd->variables.wsrep_sync_wait & mask) &&
     thd->variables.wsrep_on &&
-    !(thd->variables.wsrep_dirty_reads &&
-      !is_update_query(thd->lex->sql_command)) &&
     !thd->in_active_multi_stmt_transaction() &&
     thd->wsrep_conflict_state != REPLAYING &&
     thd->wsrep_sync_wait_gtid.seqno == WSREP_SEQNO_UNDEFINED;
diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc
index 9a5c7b86068..20091a3893e 100644
--- a/sql/wsrep_var.cc
+++ b/sql/wsrep_var.cc
@@ -64,19 +64,21 @@ bool wsrep_on_update (sys_var *self, THD* thd, enum_var_type var_type)
 
 bool wsrep_causal_reads_update (sys_var *self, THD* thd, enum_var_type var_type)
 {
-  // wsrep_sync_wait should also be updated.
-  if (var_type == OPT_GLOBAL) {
-    if (global_system_variables.wsrep_causal_reads) {
-        global_system_variables.wsrep_sync_wait |= WSREP_SYNC_WAIT_BEFORE_READ;
-    } else {
-        global_system_variables.wsrep_sync_wait &= ~WSREP_SYNC_WAIT_BEFORE_READ;
-    }
+  // global setting should not affect session setting.
+  // if (var_type == OPT_GLOBAL) {
+  //   thd->variables.wsrep_causal_reads = global_system_variables.wsrep_causal_reads;
+  // }
+  if (thd->variables.wsrep_causal_reads) {
+    thd->variables.wsrep_sync_wait |= WSREP_SYNC_WAIT_BEFORE_READ;
   } else {
-    if (thd->variables.wsrep_causal_reads) {
-      thd->variables.wsrep_sync_wait |= WSREP_SYNC_WAIT_BEFORE_READ;
-    } else {
-      thd->variables.wsrep_sync_wait &= ~WSREP_SYNC_WAIT_BEFORE_READ;
-    }
+    thd->variables.wsrep_sync_wait &= ~WSREP_SYNC_WAIT_BEFORE_READ;
+  }
+
+  // update global settings too.
+  if (global_system_variables.wsrep_causal_reads) {
+      global_system_variables.wsrep_sync_wait |= WSREP_SYNC_WAIT_BEFORE_READ;
+  } else {
+      global_system_variables.wsrep_sync_wait &= ~WSREP_SYNC_WAIT_BEFORE_READ;
   }
 
   return false;
@@ -84,14 +86,17 @@ bool wsrep_causal_reads_update (sys_var *self, THD* thd, enum_var_type var_type)
 
 bool wsrep_sync_wait_update (sys_var* self, THD* thd, enum_var_type var_type)
 {
-  // wsrep_causal_reads should also be updated.
-  if (var_type == OPT_GLOBAL) {
-    global_system_variables.wsrep_causal_reads=
-      global_system_variables.wsrep_sync_wait & WSREP_SYNC_WAIT_BEFORE_READ;
-  } else {
-  thd->variables.wsrep_causal_reads=
-    thd->variables.wsrep_sync_wait & WSREP_SYNC_WAIT_BEFORE_READ;
-  }
+  // global setting should not affect session setting.
+  // if (var_type == OPT_GLOBAL) {
+  //   thd->variables.wsrep_sync_wait = global_system_variables.wsrep_sync_wait;
+  // }
+  thd->variables.wsrep_causal_reads = thd->variables.wsrep_sync_wait &
+          WSREP_SYNC_WAIT_BEFORE_READ;
+
+  // update global settings too
+  global_system_variables.wsrep_causal_reads = global_system_variables.wsrep_sync_wait &
+          WSREP_SYNC_WAIT_BEFORE_READ;
+
   return false;
 }
 


More information about the commits mailing list