diff options
author | sjaakola <seppo.jaakola@iki.fi> | 2016-02-17 11:20:48 +0200 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2018-03-20 12:10:41 +0200 |
commit | 2a729b5f4b14f9f04cf81e1d8dd4eec4ad6cb7cd (patch) | |
tree | 1b9846faa0c7c980ff0c9fcada35cb83872387d7 /sql/wsrep_var.cc | |
parent | e390f7b67509e324033644d017e8d6408d277d02 (diff) | |
download | mariadb-git-2a729b5f4b14f9f04cf81e1d8dd4eec4ad6cb7cd.tar.gz |
refs MW-245 - merged wsrep_dirty_reads and wsrep_reject_queries from PXC
Diffstat (limited to 'sql/wsrep_var.cc')
-rw-r--r-- | sql/wsrep_var.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc index ad1f4ec0eac..da53c0981af 100644 --- a/sql/wsrep_var.cc +++ b/sql/wsrep_var.cc @@ -34,6 +34,7 @@ const char* wsrep_node_name = 0; const char* wsrep_node_address = 0; const char* wsrep_node_incoming_address = 0; const char* wsrep_start_position = 0; +ulong wsrep_reject_queries; static long wsrep_prev_slave_threads = wsrep_slave_threads; @@ -384,6 +385,30 @@ void wsrep_provider_options_init(const char* value) wsrep_provider_options = (value) ? my_strdup(value, MYF(0)) : NULL; } +bool wsrep_reject_queries_update(sys_var *self, THD* thd, enum_var_type type) +{ + switch (wsrep_reject_queries) { + case WSREP_REJECT_NONE: + wsrep_ready_set(TRUE); + WSREP_INFO("Allowing client queries due to manual setting"); + break; + case WSREP_REJECT_ALL: + wsrep_ready_set(FALSE); + WSREP_INFO("Rejecting client queries due to manual setting"); + break; + case WSREP_REJECT_ALL_KILL: + wsrep_ready_set(FALSE); + wsrep_close_client_connections(FALSE); + WSREP_INFO("Rejecting client queries and killing connections due to manual setting"); + break; + default: + WSREP_INFO("Unknown value for wsrep_reject_queries: %lu", + wsrep_reject_queries); + return true; + } + return false; +} + static int wsrep_cluster_address_verify (const char* cluster_address_str) { /* There is no predefined address format, it depends on provider. */ |