diff options
author | Nirbhay Choubey <nirbhay@mariadb.com> | 2015-01-27 16:22:29 -0500 |
---|---|---|
committer | Nirbhay Choubey <nirbhay@mariadb.com> | 2015-01-27 16:22:29 -0500 |
commit | 9b7e3801f4d3b241d525c7f2d6f0e2aedb35e3cc (patch) | |
tree | 7198462a6fc9729acd3e4857a5c6828790d264ee /mysql-test/suite/galera/t/galera_var_dirty_reads.test | |
parent | 5b6f637caafba84457b91e08ce9c4f3fc6e8202f (diff) | |
download | mariadb-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.test | 46 |
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 + |