summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@mariadb.com>2016-08-17 13:47:44 -0400
committerNirbhay Choubey <nirbhay@mariadb.com>2016-08-17 13:47:44 -0400
commit4d56d214ded97a546527e6e8a01221ae15cda2d0 (patch)
treeeedcdd48969253034ad8b983108742ad855b95b1
parent951f5d80056a3c6f0210477ca6d69d5aa45ab195 (diff)
downloadmariadb-git-bb-10.0-galera-merge.tar.gz
Fixes for failing tests (post-merge).bb-10.0-galera-merge
-rw-r--r--mysql-test/r/mysqld--help.result5
-rw-r--r--mysql-test/suite/galera/disabled.def1
-rw-r--r--mysql-test/suite/galera/r/MW-284.result1
-rw-r--r--mysql-test/suite/galera/r/galera_as_master.result1
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_autoinc.result4
-rw-r--r--mysql-test/suite/galera/t/MW-284.test1
-rw-r--r--mysql-test/suite/galera/t/galera_as_master.test3
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_autoinc.test5
-rw-r--r--mysql-test/suite/galera/t/galera_ist_restart_joiner.test15
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test2
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_desync_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_reject_queries_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_reject_queries_basic.test44
-rw-r--r--sql/sql_class.h1
-rw-r--r--storage/xtradb/row/row0upd.cc4
-rw-r--r--wsrep/wsrep_dummy.c11
18 files changed, 145 insertions, 14 deletions
diff --git a/mysql-test/r/mysqld--help.result b/mysql-test/r/mysqld--help.result
index 8ff9073b625..2f30123ca9a 100644
--- a/mysql-test/r/mysqld--help.result
+++ b/mysql-test/r/mysqld--help.result
@@ -1080,6 +1080,7 @@ The following options may be given as the first argument:
DBUG options to provider library
--wsrep-debug To enable debug level logging
--wsrep-desync To desynchronize the node from the cluster
+ --wsrep-dirty-reads Allow reads from a node not in primary component
--wsrep-drupal-282555-workaround
To use a workaround forbad autoincrement value
--wsrep-forced-binlog-format=name
@@ -1114,6 +1115,8 @@ The following options may be given as the first argument:
--wsrep-provider-options=name
provider specific options
--wsrep-recover Recover database state after crash and exit
+ --wsrep-reject-queries[=name]
+ Variable to set to reject queries
--wsrep-replicate-myisam
To enable myisam replication
--wsrep-restart-slave
@@ -1454,6 +1457,7 @@ wsrep-convert-LOCK-to-trx FALSE
wsrep-dbug-option
wsrep-debug FALSE
wsrep-desync FALSE
+wsrep-dirty-reads FALSE
wsrep-drupal-282555-workaround FALSE
wsrep-forced-binlog-format NONE
wsrep-load-data-splitting TRUE
@@ -1469,6 +1473,7 @@ wsrep-on TRUE
wsrep-provider none
wsrep-provider-options
wsrep-recover FALSE
+wsrep-reject-queries NONE
wsrep-replicate-myisam FALSE
wsrep-restart-slave FALSE
wsrep-retry-autocommit 1
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
index 25f20e01521..4aa15d27661 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -28,3 +28,4 @@ galera_flush : mysql-wsrep/issues/229
galera_transaction_read_only : mysql-wsrep/issues/229
galera_gcs_fragment : Incorrect arguments to SET
galera_flush_local : Fails sporadically
+galera_binlog_stmt_autoinc : TODO: investigate \ No newline at end of file
diff --git a/mysql-test/suite/galera/r/MW-284.result b/mysql-test/suite/galera/r/MW-284.result
index 8b5119663ce..3ff131674ea 100644
--- a/mysql-test/suite/galera/r/MW-284.result
+++ b/mysql-test/suite/galera/r/MW-284.result
@@ -11,3 +11,4 @@ DROP TABLE t1;
STOP SLAVE;
RESET SLAVE ALL;
CALL mtr.add_suppression('failed registering on master');
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
diff --git a/mysql-test/suite/galera/r/galera_as_master.result b/mysql-test/suite/galera/r/galera_as_master.result
index aba93573ecf..bd7d63ad1ab 100644
--- a/mysql-test/suite/galera/r/galera_as_master.result
+++ b/mysql-test/suite/galera/r/galera_as_master.result
@@ -5,3 +5,4 @@ INSERT INTO t1 VALUES(2);
DROP TABLE t1;
STOP SLAVE;
RESET SLAVE ALL;
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
diff --git a/mysql-test/suite/galera/r/galera_as_slave_autoinc.result b/mysql-test/suite/galera/r/galera_as_slave_autoinc.result
index a8f5ec8e37e..b6314b862c2 100644
--- a/mysql-test/suite/galera/r/galera_as_slave_autoinc.result
+++ b/mysql-test/suite/galera/r/galera_as_slave_autoinc.result
@@ -1,6 +1,4 @@
-START SLAVE USER='root';
-Warnings:
-Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+START SLAVE;
SET SESSION binlog_format='STATEMENT';
CREATE TABLE t1 (
i int(11) NOT NULL AUTO_INCREMENT,
diff --git a/mysql-test/suite/galera/t/MW-284.test b/mysql-test/suite/galera/t/MW-284.test
index 5998e22ed1e..f3ce1b0dc91 100644
--- a/mysql-test/suite/galera/t/MW-284.test
+++ b/mysql-test/suite/galera/t/MW-284.test
@@ -55,3 +55,4 @@ STOP SLAVE;
RESET SLAVE ALL;
CALL mtr.add_suppression('failed registering on master');
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
diff --git a/mysql-test/suite/galera/t/galera_as_master.test b/mysql-test/suite/galera/t/galera_as_master.test
index c42dbbf9683..b8f989d497b 100644
--- a/mysql-test/suite/galera/t/galera_as_master.test
+++ b/mysql-test/suite/galera/t/galera_as_master.test
@@ -36,3 +36,6 @@ DROP TABLE t1;
STOP SLAVE;
RESET SLAVE ALL;
+
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
+
diff --git a/mysql-test/suite/galera/t/galera_as_slave_autoinc.test b/mysql-test/suite/galera/t/galera_as_slave_autoinc.test
index bf04b274ca7..9292badc480 100644
--- a/mysql-test/suite/galera/t/galera_as_slave_autoinc.test
+++ b/mysql-test/suite/galera/t/galera_as_slave_autoinc.test
@@ -5,7 +5,6 @@
#
--source include/have_innodb.inc
---source include/have_log_bin.inc
# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
@@ -13,9 +12,9 @@
--connection node_2
--disable_query_log
---eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1;
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
--enable_query_log
-START SLAVE USER='root';
+START SLAVE;
--connection node_1
diff --git a/mysql-test/suite/galera/t/galera_ist_restart_joiner.test b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
index eae28bdbcd7..11664affe7c 100644
--- a/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
+++ b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
@@ -9,6 +9,12 @@
--source include/have_debug_sync.inc
--source suite/galera/include/galera_have_debug_sync.inc
+# Save original auto_increment_offset values.
+--connection node_1
+let $auto_increment_offset_node_1 = `SELECT @@global.auto_increment_offset`;
+--connection node_2
+let $auto_increment_offset_node_2 = `SELECT @@global.auto_increment_offset`;
+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a'), (4, 'a'), (5, 'a'),(6, 'a');
@@ -106,3 +112,12 @@ SELECT COUNT(*) = 0 FROM t3;
--connection node_1
DROP TABLE t1, t2, t3;
+
+# Restore original auto_increment_offset values.
+--disable_query_log
+--connection node_1
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_1;
+--connection node_2
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_2;
+--enable_query_log
+
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
index 7d8bbb39e35..8575d99f066 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
@@ -82,6 +82,8 @@ INSERT INTO t1 VALUES (51), (52), (53), (54), (55);
--connection node_3
--source include/wait_until_connected_again.inc
+sleep 5;
+
# Final checks
--connection node_2
SELECT COUNT(*) = 30 FROM t1;
diff --git a/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result b/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result
index 6225b444cfd..5cd2a2e5720 100644
--- a/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result
+++ b/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result
@@ -22,10 +22,12 @@ SET @@global.wsrep_desync=ON;
ERROR HY000: Operation 'desync' failed for SET @@global.wsrep_desync=ON
SELECT @@global.wsrep_desync;
@@global.wsrep_desync
-1
+0
# valid values
SET @@global.wsrep_desync='OFF';
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
SELECT @@global.wsrep_desync;
@@global.wsrep_desync
0
@@ -33,8 +35,10 @@ SET @@global.wsrep_desync=ON;
ERROR HY000: Operation 'desync' failed for SET @@global.wsrep_desync=ON
SELECT @@global.wsrep_desync;
@@global.wsrep_desync
-1
+0
SET @@global.wsrep_desync=default;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
SELECT @@global.wsrep_desync;
@@global.wsrep_desync
0
diff --git a/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result b/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result
index 26d8d823a5c..d7e72869be3 100644
--- a/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result
@@ -3,10 +3,11 @@
#
# save the initial value
SET @wsrep_max_ws_size_global_saved = @@global.wsrep_max_ws_size;
+SET @wsrep_provider_options_saved = @@global.wsrep_provider_options;
# default
SELECT @@global.wsrep_max_ws_size;
@@global.wsrep_max_ws_size
-1073741824
+2147483647
# scope
SELECT @@session.wsrep_max_ws_size;
@@ -55,4 +56,5 @@ NULL
# restore the initial value
SET @@global.wsrep_max_ws_size = @wsrep_max_ws_size_global_saved;
+SET @@global.wsrep_provider_options = @wsrep_provider_options_saved;
# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_reject_queries_basic.result b/mysql-test/suite/sys_vars/r/wsrep_reject_queries_basic.result
new file mode 100644
index 00000000000..f85b021d6a7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_reject_queries_basic.result
@@ -0,0 +1,47 @@
+#
+# wsrep_reject_queries
+#
+# save the initial value
+SET @wsrep_reject_queries_global_saved = @@global.wsrep_reject_queries;
+# default
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+NONE
+
+# scope
+SELECT @@session.wsrep_reject_queries;
+ERROR HY000: Variable 'wsrep_reject_queries' is a GLOBAL variable
+SET @@global.wsrep_reject_queries=ALL;
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+ALL
+
+# valid values
+SET @@global.wsrep_reject_queries=NONE;
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+NONE
+SET @@global.wsrep_reject_queries=ALL;
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+ALL
+SET @@global.wsrep_reject_queries=ALL_KILL;
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+ALL_KILL
+SET @@global.wsrep_reject_queries=default;
+SELECT @@global.wsrep_reject_queries;
+@@global.wsrep_reject_queries
+NONE
+
+# invalid values
+SET @@global.wsrep_reject_queries=NULL;
+ERROR 42000: Variable 'wsrep_reject_queries' can't be set to the value of 'NULL'
+SET @@global.wsrep_reject_queries='junk';
+ERROR 42000: Variable 'wsrep_reject_queries' can't be set to the value of 'junk'
+SET @@global.wsrep_reject_queries=ON;
+ERROR 42000: Variable 'wsrep_reject_queries' can't be set to the value of 'ON'
+
+# restore the initial value
+SET @@global.wsrep_reject_queries = @wsrep_reject_queries_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test b/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test
index e7af4558f24..2e302015136 100644
--- a/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test
@@ -6,6 +6,7 @@
--echo # save the initial value
SET @wsrep_max_ws_size_global_saved = @@global.wsrep_max_ws_size;
+SET @wsrep_provider_options_saved = @@global.wsrep_provider_options;
--echo # default
SELECT @@global.wsrep_max_ws_size;
@@ -41,5 +42,6 @@ SELECT @global.wsrep_max_ws_size;
--echo
--echo # restore the initial value
SET @@global.wsrep_max_ws_size = @wsrep_max_ws_size_global_saved;
+SET @@global.wsrep_provider_options = @wsrep_provider_options_saved;
--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_reject_queries_basic.test b/mysql-test/suite/sys_vars/t/wsrep_reject_queries_basic.test
new file mode 100644
index 00000000000..e8893b9b18a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_reject_queries_basic.test
@@ -0,0 +1,44 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_reject_queries
+--echo #
+
+--echo # save the initial value
+SET @wsrep_reject_queries_global_saved = @@global.wsrep_reject_queries;
+
+--echo # default
+SELECT @@global.wsrep_reject_queries;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_reject_queries;
+SET @@global.wsrep_reject_queries=ALL;
+SELECT @@global.wsrep_reject_queries;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_reject_queries=NONE;
+SELECT @@global.wsrep_reject_queries;
+SET @@global.wsrep_reject_queries=ALL;
+SELECT @@global.wsrep_reject_queries;
+SET @@global.wsrep_reject_queries=ALL_KILL;
+SELECT @@global.wsrep_reject_queries;
+SET @@global.wsrep_reject_queries=default;
+SELECT @@global.wsrep_reject_queries;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_reject_queries=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_reject_queries='junk';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_reject_queries=ON;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_reject_queries = @wsrep_reject_queries_global_saved;
+
+--echo # End of test
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 9a0dccc5f9c..b251d849642 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -660,7 +660,6 @@ typedef struct system_variables
uint wsrep_sync_wait;
ulong wsrep_retry_autocommit;
ulong wsrep_OSU_method;
- ulong wsrep_auto_increment_control;
#endif
double long_query_time_double;
diff --git a/storage/xtradb/row/row0upd.cc b/storage/xtradb/row/row0upd.cc
index 16795aed0db..e28cae052f3 100644
--- a/storage/xtradb/row/row0upd.cc
+++ b/storage/xtradb/row/row0upd.cc
@@ -412,7 +412,7 @@ wsrep_row_upd_check_foreign_constraints(
dict_table_open_on_name(
foreign->referenced_table_name_lookup,
FALSE, FALSE, DICT_ERR_IGNORE_NONE);
- opened = TRUE;
+ opened = (foreign->referenced_table) ? TRUE : FALSE;
}
if (foreign->referenced_table) {
@@ -435,7 +435,7 @@ wsrep_row_upd_check_foreign_constraints(
->n_foreign_key_checks_running);
if (opened == TRUE) {
- dict_table_close(foreign->referenced_table, TRUE, FALSE);
+ dict_table_close(foreign->referenced_table, FALSE, FALSE);
opened = FALSE;
}
}
diff --git a/wsrep/wsrep_dummy.c b/wsrep/wsrep_dummy.c
index 5f1ea63cc40..1780e91f89d 100644
--- a/wsrep/wsrep_dummy.c
+++ b/wsrep/wsrep_dummy.c
@@ -85,8 +85,15 @@ static wsrep_status_t dummy_options_set(
static char* dummy_options_get (wsrep_t* w)
{
- WSREP_DBUG_ENTER(w);
- return strdup(WSREP_DUMMY(w)->options);
+ char *options;
+
+ WSREP_DBUG_ENTER(w);
+ options= WSREP_DUMMY(w)->options;
+
+ if (options)
+ options= strdup(WSREP_DUMMY(w)->options);
+
+ return options;
}
static wsrep_status_t dummy_connect(