summaryrefslogtreecommitdiff
path: root/mysql-test/suite/galera/t/galera_var_dirty_reads.test
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@mariadb.com>2015-01-27 16:22:29 -0500
committerNirbhay Choubey <nirbhay@mariadb.com>2015-01-27 16:22:29 -0500
commit9b7e3801f4d3b241d525c7f2d6f0e2aedb35e3cc (patch)
tree7198462a6fc9729acd3e4857a5c6828790d264ee /mysql-test/suite/galera/t/galera_var_dirty_reads.test
parent5b6f637caafba84457b91e08ce9c4f3fc6e8202f (diff)
downloadmariadb-git-9b7e3801f4d3b241d525c7f2d6f0e2aedb35e3cc.tar.gz
MDEV-7476: Allow SELECT to succeed even when node is not ready
Added a SESSION-only system variable "wsrep_dirty_reads" to allow SELECT queries to pass even when the node is not prepared to accept queries (wsrep_ready=OFF). Added a test case.
Diffstat (limited to 'mysql-test/suite/galera/t/galera_var_dirty_reads.test')
-rw-r--r--mysql-test/suite/galera/t/galera_var_dirty_reads.test46
1 files changed, 46 insertions, 0 deletions
diff --git a/mysql-test/suite/galera/t/galera_var_dirty_reads.test b/mysql-test/suite/galera/t/galera_var_dirty_reads.test
new file mode 100644
index 00000000000..855f4abdbf0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_dirty_reads.test
@@ -0,0 +1,46 @@
+#
+# Check the handling of @@wsrep_dirty_reads
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_2
+--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
+
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+
+SET @@global.wsrep_cluster_address = '';
+SET @@session.wsrep_dirty_reads=OFF;
+
+# Set wsrep_sync_wait to avoid ER_LOCK_WAIT_TIMEOUT (MDEV-6832).
+SET SESSION wsrep_sync_wait=0;
+
+# Must return 'OFF'
+SHOW STATUS LIKE 'wsrep_ready';
+
+# Must return 'Non-primary'
+SHOW STATUS LIKE 'wsrep_cluster_status';
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT * FROM t1;
+
+SET @@session.wsrep_dirty_reads=ON;
+
+SELECT * FROM t1;
+
+--disable_query_log
+--eval SET @@global.wsrep_cluster_address = '$wsrep_cluster_address_saved'
+--enable_query_log
+--source include/wait_until_connected_again.inc
+
+--connection node_1
+SELECT * FROM t1;
+# Cleanup
+DROP TABLE t1;
+
+--source include/galera_end.inc
+--echo # End of test
+