summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/galera/t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:13 +0000
commit86fbb58c3ac0865482819c10a3e81f2eea001c36 (patch)
tree28c9e526ea739c6f9b89e36115e1e2698bddf981 /mysql-test/suite/galera/t
parentReleasing progress-linux version 1:10.11.6-2~progress7.99u1. (diff)
downloadmariadb-86fbb58c3ac0865482819c10a3e81f2eea001c36.tar.xz
mariadb-86fbb58c3ac0865482819c10a3e81f2eea001c36.zip
Merging upstream version 1:10.11.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/galera/t')
-rw-r--r--mysql-test/suite/galera/t/MDEV-22232.test72
-rw-r--r--mysql-test/suite/galera/t/MDEV-27806.opt1
-rw-r--r--mysql-test/suite/galera/t/MDEV-27806.test51
-rw-r--r--mysql-test/suite/galera/t/MDEV-27862.test3
-rw-r--r--mysql-test/suite/galera/t/MDEV-31272.combinations5
-rw-r--r--mysql-test/suite/galera/t/MDEV-31272.test58
-rw-r--r--mysql-test/suite/galera/t/MDEV-32549.test28
-rw-r--r--mysql-test/suite/galera/t/MDEV-32938.test57
-rw-r--r--mysql-test/suite/galera/t/galera_as_master.test6
-rw-r--r--mysql-test/suite/galera/t/galera_bf_lock_wait.test14
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test14
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf20
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.test61
-rw-r--r--mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.cnf17
-rw-r--r--mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.test60
-rw-r--r--mysql-test/suite/galera/t/galera_log_output_csv.test4
-rw-r--r--mysql-test/suite/galera/t/galera_myisam_autocommit.test4
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache.test3
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache_sync_wait.test4
-rw-r--r--mysql-test/suite/galera/t/galera_restart_replica.test2
-rw-r--r--mysql-test/suite/galera/t/galera_var_node_address.cnf10
-rw-r--r--mysql-test/suite/galera/t/galera_var_node_address.test32
22 files changed, 473 insertions, 53 deletions
diff --git a/mysql-test/suite/galera/t/MDEV-22232.test b/mysql-test/suite/galera/t/MDEV-22232.test
new file mode 100644
index 00000000..dbd9ed1e
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-22232.test
@@ -0,0 +1,72 @@
+#
+# MDEV-22232: CTAS execution crashes during replay.
+#
+# There were multiple problems and two failing scenarios with empty result set
+# and with non-empty result set:
+# - CTAS didn't add shared keys for selected tables
+# - Security context wasn't set on the replayer thread
+# - CTAS was retried after failure - now retry disabled
+
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+--source include/have_debug.inc
+
+--connect con1,127.0.0.1,root,,test,$NODE_MYPORT_1
+
+# Scenario 1
+--echo --- CTAS with empty result set ---
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+
+# Run CTAS until the resulting table gets created,
+# then it gets BF aborted by ALTER.
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+--send
+ CREATE TABLE t2 SELECT * FROM t1;
+
+# Wait for CTAS to reach the table create point,
+# start executing ALTER and BF abort CTAS.
+--connection node_1
+SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
+--disable_result_log
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
+--enable_result_log
+
+--connection con1
+# CTAS gets BF aborted.
+--error ER_QUERY_INTERRUPTED
+--reap
+
+# Cleanup
+SET DEBUG_SYNC = 'RESET';
+
+
+# Scenario 2
+--echo --- CTAS with non-empty result set ---
+INSERT INTO t1 VALUES (10), (20), (30);
+
+# Run CTAS until the resulting table gets created,
+# then it gets BF aborted by ALTER.
+SET DEBUG_SYNC = 'create_table_select_before_create SIGNAL may_alter WAIT_FOR bf_abort';
+--send
+ CREATE TABLE t2 SELECT * FROM t1;
+
+# Wait for CTAS to reach the table create point,
+# start executing ALTER and BF abort CTAS.
+--connection node_1
+SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
+--disable_result_log
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t1 DROP FOREIGN KEY b, ALGORITHM=COPY;
+--enable_result_log
+
+--connection con1
+# CTAS gets BF aborted.
+--error ER_QUERY_INTERRUPTED
+--reap
+
+# Cleanup
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+--disconnect con1
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/MDEV-27806.opt b/mysql-test/suite/galera/t/MDEV-27806.opt
new file mode 100644
index 00000000..009e761e
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-27806.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates --gtid-strict-mode --wsrep_gtid_mode=on
diff --git a/mysql-test/suite/galera/t/MDEV-27806.test b/mysql-test/suite/galera/t/MDEV-27806.test
new file mode 100644
index 00000000..62a0ca48
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-27806.test
@@ -0,0 +1,51 @@
+#
+# MDEV-27806 GTIDs diverge after CTAS
+#
+--source include/galera_cluster.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+INSERT INTO t1 VALUES (1),(2),(3);
+CREATE TABLE ts1 AS SELECT * FROM t1;
+--let binlog_pos= `SELECT @@gtid_binlog_pos`
+
+--let $MASTER_MYPORT=$NODE_MYPORT_1
+--let $binlog_file=LAST
+--let $binlog_limit=8,20
+--source include/show_binlog_events.inc
+
+--connection node_2
+--let $binlog_limit=7,20
+--source include/show_binlog_events.inc
+
+--disable_query_log
+--eval SELECT STRCMP(@@gtid_binlog_pos, "$binlog_pos") = 0 AS BINLOG_POSITIONS_MATCH;
+--enable_query_log
+
+DROP TABLE t1,ts1;
+
+
+#
+# Same as above, with empty CREATE TABLE AS SELECT
+#
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE ts1 AS SELECT * FROM t1;
+--let binlog_pos= `SELECT @@gtid_binlog_pos`
+
+--let $MASTER_MYPORT=$NODE_MYPORT_1
+--let $binlog_file=LAST
+--let $binlog_limit=18,20
+--source include/show_binlog_events.inc
+
+--connection node_2
+--let $binlog_limit=17,20
+--source include/show_binlog_events.inc
+
+--disable_query_log
+--eval SELECT STRCMP(@@gtid_binlog_pos, "$binlog_pos") = 0 AS BINLOG_POSITIONS_MATCH;
+--enable_query_log
+
+DROP TABLE t1,ts1;
+
+CALL mtr.add_suppression("Ignoring server id for non bootstrap node");
diff --git a/mysql-test/suite/galera/t/MDEV-27862.test b/mysql-test/suite/galera/t/MDEV-27862.test
index d23ce95d..f19d6b5d 100644
--- a/mysql-test/suite/galera/t/MDEV-27862.test
+++ b/mysql-test/suite/galera/t/MDEV-27862.test
@@ -1,6 +1,8 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
+--disable_ps2_protocol
+
# NEXTVAL
--connection node_1
@@ -54,3 +56,4 @@ SELECT NEXTVAL(seq_transaction) = 4;
DROP SEQUENCE seq_transaction;
DROP TABLE t1;
+--enable_ps2_protocol
diff --git a/mysql-test/suite/galera/t/MDEV-31272.combinations b/mysql-test/suite/galera/t/MDEV-31272.combinations
new file mode 100644
index 00000000..def4dda7
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-31272.combinations
@@ -0,0 +1,5 @@
+[binlogon]
+log-bin
+log-slave-updates=ON
+
+[binlogoff]
diff --git a/mysql-test/suite/galera/t/MDEV-31272.test b/mysql-test/suite/galera/t/MDEV-31272.test
new file mode 100644
index 00000000..d2c82378
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-31272.test
@@ -0,0 +1,58 @@
+#
+# MDEV-31272: Statement rollback causes empty writeset replication
+#
+
+--source include/galera_cluster.inc
+
+#
+# Case 1: Multi statement transaction
+#
+--connection node_1
+CREATE TABLE t1 (f1 int primary key, f2 int);
+INSERT INTO t1 VALUES (1,0);
+
+--let $replicated_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_replicated'`
+
+BEGIN;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (2,4),(1,1);
+COMMIT;
+
+--let $replicated_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_replicated'`
+
+--disable_query_log
+--eval SELECT $replicated_new - $replicated_old AS 'Writesets replicated (expect 0)';
+--enable_query_log
+
+--connection node_1
+SELECT * FROM t1;
+--connection node_2
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+#
+# Case 2: autocommit statement
+#
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INTEGER);
+INSERT INTO t1 VALUES (1,0);
+
+--let $replicated_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_replicated'`
+
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (2,4), (1,1);
+
+--let $replicated_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_replicated'`
+
+--disable_query_log
+--eval SELECT $replicated_new - $replicated_old AS 'Writesets replicated (expect 0)';
+--enable_query_log
+
+--connection node_1
+SELECT * FROM t1;
+--connection node_2
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MDEV-32549.test b/mysql-test/suite/galera/t/MDEV-32549.test
new file mode 100644
index 00000000..a2faa46d
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-32549.test
@@ -0,0 +1,28 @@
+#
+# MDEV-32549: Cluster is inconsitent after savepoint
+# statement is rolled back
+#
+--source include/galera_cluster.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) engine=innodb;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) engine=aria;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t2;
+--error ER_CHECK_NOT_IMPLEMENTED
+SAVEPOINT s1;
+INSERT INTO t1 VALUES (2);
+COMMIT;
+
+--connection node_1
+SELECT * FROM t1;
+
+# If bug is present: only the second INSERT
+# is replicated, causing an inconsistent
+# cluster.
+--connection node_2
+SELECT * FROM t1;
+
+--connection node_1
+DROP TABLE t1,t2;
diff --git a/mysql-test/suite/galera/t/MDEV-32938.test b/mysql-test/suite/galera/t/MDEV-32938.test
new file mode 100644
index 00000000..cb41f21a
--- /dev/null
+++ b/mysql-test/suite/galera/t/MDEV-32938.test
@@ -0,0 +1,57 @@
+#
+# MDEV-32938: ALTER command is replicated and successfully applied while being BF-aborted locally.
+#
+# Why it happend:
+# - ALTER went to prepare FK-referenced tables as TOI keys
+# - to do this, it would open the main table with SHARED_HIGH_PRIO MDL lock which disregarded any
+# other locks (including X-lock) waiting in the queue in case someone was already holding a
+# compatible lock type (like any DML operation)
+# - if there was other TOI operation on the same table, it would go through BF-abort cycle to grab
+# the lock for itself
+# - since the initial ALTER had not reached TOI yet, it would loose to real TOI operation and got
+# BF-aborted with its THD marked as killed
+# - then, ALTER would enter TOI and get replicated with no checks that it has already been aborted
+# - after entering TOI mode, it would later find it'd been killed, and complete with an error
+# - at the same time, the command would successfully apply on every other node except the initiator.
+#
+# Fixed by checking killed state on THD before entering TOI.
+#
+
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+--source include/have_debug.inc
+
+--connect con1,127.0.0.1,root,,test,$NODE_MYPORT_1
+
+call mtr.add_suppression("WSREP: ALTER TABLE isolation failure");
+
+CREATE TABLE t1(c1 INT PRIMARY KEY, c2 INT) ENGINE=InnoDB;
+
+# Run ALTER DROP COLUMN and hang before closing tables on adding FK keys and before entering TOI.
+# Wait until it gets BF-aborted.
+SET DEBUG_SYNC = 'wsrep_append_fk_toi_keys_before_close_tables SIGNAL may_alter WAIT_FOR bf_abort';
+--send
+ ALTER TABLE t1 DROP COLUMN c2;
+
+--connection node_1
+# Run ALTER ADD COLUMN and BF-abort the previous ALTER DROP COLUMN.
+SET DEBUG_SYNC = 'now WAIT_FOR may_alter';
+ALTER TABLE t1 ADD COLUMN c3 INT;
+
+--connection con1
+# ALTER DROP COLUMN gets BF aborted.
+--error ER_QUERY_INTERRUPTED
+--reap
+
+INSERT INTO t1 (c1, c2, c3) VALUES (1, 0, 0);
+
+--connection node_2
+# ALTER DROP COLUMN must not be replicated.
+INSERT INTO t1 (c1, c2, c3) VALUES (2, 0, 0);
+
+# Cleanup.
+--connection node_1
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+--disconnect con1
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_as_master.test b/mysql-test/suite/galera/t/galera_as_master.test
index 1c439fff..a5554a73 100644
--- a/mysql-test/suite/galera/t/galera_as_master.test
+++ b/mysql-test/suite/galera/t/galera_as_master.test
@@ -52,12 +52,18 @@ DROP TABLE t1, t4;
SET SQL_LOG_BIN=OFF;
DROP TABLE t2, t3;
+--let binlog_pos=`SELECT @@gtid_binlog_pos;`
+
--connection node_3
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
--source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't4';
--source include/wait_condition.inc
+--disable_query_log
+--eval SELECT STRCMP(@@gtid_binlog_pos, "$binlog_pos") = 0 AS BINLOG_POSITIONS_MATCH;
+--enable_query_log
+
STOP SLAVE;
RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_bf_lock_wait.test b/mysql-test/suite/galera/t/galera_bf_lock_wait.test
index 0562b436..8ef2fee7 100644
--- a/mysql-test/suite/galera/t/galera_bf_lock_wait.test
+++ b/mysql-test/suite/galera/t/galera_bf_lock_wait.test
@@ -52,6 +52,12 @@ let $counter=10;
let $sleep_period=10;
echo checking error log for 'BF lock wait long' message for $counter times every $sleep_period seconds ...;
+
+--let assert_text= BF lock wait long
+--let assert_select= BF lock wait long
+--let assert_count= 0
+--let assert_only_after= CURRENT_TEST: galera.galera_bf_lock_wait
+
while($counter > 0)
{
--disable_query_log
@@ -60,9 +66,11 @@ while($counter > 0)
--enable_query_log
--enable_result_log
-# use error 0,1 instead if want test to continue
- --error 1
- exec grep 'BF lock wait long' $MYSQLTEST_VARDIR/log/mysqld.*.err;
+--let assert_file= $MYSQLTEST_VARDIR/log/mysqld.1.err
+--source include/assert_grep.inc
+
+--let assert_file= $MYSQLTEST_VARDIR/log/mysqld.2.err
+--source include/assert_grep.inc
dec $counter;
}
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
index e3921264..b2c38b63 100644
--- a/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
+++ b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
@@ -142,31 +142,31 @@ SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--connection node_1_insert_simple
---error 2013
+--error 2013, 2026
--reap
--connection node_1_insert_multi
---error 2013
+--error 2013, 2026
--reap
--connection node_1_insert_transaction
---error 2013
+--error 2013, 2026
--reap
--connection node_1_update_simple
---error 2013
+--error 2013, 2026
--reap
--connection node_1_insert_1k
---error 2013
+--error 2013, 2026
--reap
--connection node_1_insert_1m
---error 2013
+--error 2013, 2026
--reap
--connection node_1_insert_10m
---error 2013
+--error 2013, 2026
--reap
--connection node_1
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf
new file mode 100644
index 00000000..f2187b83
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.cnf
@@ -0,0 +1,20 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth=root:
+
+ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem
+ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem
+ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
+[sst]
+ssl-mode=VERIFY_CA
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=mbstream
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.test b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.test
new file mode 100644
index 00000000..4e2d25b1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup_verify_ca.test
@@ -0,0 +1,61 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_mariabackup.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--let $LOG_FILE=$MYSQL_TMP_DIR/galera_node2.log
+--error 0,1
+--remove_file $LOG_FILE
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY);
+
+--connection node_2
+
+--echo # Verify that graceful shutdown succeeds...
+--source include/shutdown_mysqld.inc
+
+--connection node_1
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--echo # Start node_2 again...
+--let $restart_noprint=2
+--let $start_mysqld_params=--log-error=$LOG_FILE
+--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+SELECT * FROM t1;
+
+--let $start_mysqld_params=
+--source include/restart_mysqld.inc
+
+--connection node_1
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+# Confirm that IST took place
+--let $assert_text = mariabackup IST completed on joiner
+--let $assert_select = mariabackup IST completed on joiner
+--let $assert_count = 1
+--let $assert_file = $LOG_FILE
+--let $assert_only_after = Prepared IST receiver for
+--source include/assert_grep.inc
+
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
+
+--remove_file $LOG_FILE
diff --git a/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.cnf b/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.cnf
new file mode 100644
index 00000000..9125f670
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.cnf
@@ -0,0 +1,17 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem
+ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem
+ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
+[sst]
+ssl-mode=VERIFY_CA
diff --git a/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.test b/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.test
new file mode 100644
index 00000000..d9f7bb15
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_rsync_verify_ca.test
@@ -0,0 +1,60 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--let $LOG_FILE=$MYSQL_TMP_DIR/galera_node2.log
+--error 0,1
+--remove_file $LOG_FILE
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY);
+
+--connection node_2
+
+--echo # Verify that graceful shutdown succeeds...
+--source include/shutdown_mysqld.inc
+
+--connection node_1
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--echo # Start node_2 again...
+--let $restart_noprint=2
+--let $start_mysqld_params=--log-error=$LOG_FILE
+--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+SELECT * FROM t1;
+
+--let $start_mysqld_params=
+--source include/restart_mysqld.inc
+
+--connection node_1
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+# Confirm that IST took place
+--let $assert_text = rsync IST completed on joiner
+--let $assert_select = rsync IST completed on joiner
+--let $assert_count = 1
+--let $assert_file = $LOG_FILE
+--let $assert_only_after = Prepared IST receiver for
+--source include/assert_grep.inc
+
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
+
+--remove_file $LOG_FILE
diff --git a/mysql-test/suite/galera/t/galera_log_output_csv.test b/mysql-test/suite/galera/t/galera_log_output_csv.test
index eeccc953..43f4190c 100644
--- a/mysql-test/suite/galera/t/galera_log_output_csv.test
+++ b/mysql-test/suite/galera/t/galera_log_output_csv.test
@@ -12,13 +12,17 @@ INSERT INTO t1 VALUES (1);
SELECT COUNT(*) > 0 FROM mysql.general_log;
+--disable_ps2_protocol
SELECT 1 = 1 FROM t1;
SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 1 = 1 FROM t1';
+--enable_ps2_protocol
--connection node_2
+--disable_ps2_protocol
SELECT 2 = 2 FROM t1;
SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 2 = 2 FROM t1';
+--enable_ps2_protocol
--connection node_1
DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_myisam_autocommit.test b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
index b01b5dc0..3452a06a 100644
--- a/mysql-test/suite/galera/t/galera_myisam_autocommit.test
+++ b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
@@ -7,6 +7,8 @@
# Without a PK
+SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+
CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1);
@@ -41,5 +43,7 @@ TRUNCATE TABLE t1;
SELECT COUNT(*) = 0 FROM t1;
SELECT COUNT(*) = 0 FROM t2;
+--connection node_1
DROP TABLE t1;
DROP TABLE t2;
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/t/galera_query_cache.test b/mysql-test/suite/galera/t/galera_query_cache.test
index 900faba0..ec7306e0 100644
--- a/mysql-test/suite/galera/t/galera_query_cache.test
+++ b/mysql-test/suite/galera/t/galera_query_cache.test
@@ -2,6 +2,8 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
+--disable_ps2_protocol
+
#
# Ensure that the query cache behaves properly with respect to Galera
#
@@ -65,3 +67,4 @@ SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_
DROP TABLE t1;
+--enable_ps2_protocol
diff --git a/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test b/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test
index 6d1e21fd..9a4b734e 100644
--- a/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test
+++ b/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test
@@ -4,6 +4,8 @@
--source include/have_query_cache.inc
--source include/galera_have_debug_sync.inc
+--disable_ps2_protocol
+
CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
@@ -88,3 +90,5 @@ DROP TABLE t1;
--connection node_2a
SET DEBUG_SYNC = "RESET";
+
+--enable_ps2_protocol
diff --git a/mysql-test/suite/galera/t/galera_restart_replica.test b/mysql-test/suite/galera/t/galera_restart_replica.test
index 2cc3a1dc..37cfd9bc 100644
--- a/mysql-test/suite/galera/t/galera_restart_replica.test
+++ b/mysql-test/suite/galera/t/galera_restart_replica.test
@@ -3,9 +3,9 @@
#
# The galera/galera_2node_slave.cnf describes the setup of the nodes
#
---source include/big_test.inc
--source include/force_restart.inc
--source include/galera_cluster.inc
+--source include/have_innodb.inc
--source include/have_sequence.inc
# As node #3 is not a Galera node, and galera_cluster.inc does not open connetion to it
diff --git a/mysql-test/suite/galera/t/galera_var_node_address.cnf b/mysql-test/suite/galera/t/galera_var_node_address.cnf
deleted file mode 100644
index 0de0edaa..00000000
--- a/mysql-test/suite/galera/t/galera_var_node_address.cnf
+++ /dev/null
@@ -1,10 +0,0 @@
-!include ../galera_4nodes.cnf
-
-[mysqld.2]
-wsrep_node_address=127.0.0.1
-
-[mysqld.3]
-wsrep_node_address=localhost
-
-[mysqld.4]
-wsrep_node_address=lo
diff --git a/mysql-test/suite/galera/t/galera_var_node_address.test b/mysql-test/suite/galera/t/galera_var_node_address.test
deleted file mode 100644
index 99cb30e7..00000000
--- a/mysql-test/suite/galera/t/galera_var_node_address.test
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Test wsrep_node_address . The galera_var_node_address.cnf contains various settings for
-# wsrep_node_address, so in this test we simply confirm that the cluster has started up correctly.
-#
-
---source include/galera_cluster.inc
---source include/have_innodb.inc
-
-call mtr.add_suppression("WSREP: Stray state UUID msg: .*");
-call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .*");
-call mtr.add_suppression("WSREP: Sending JOIN failed: .*");
-flush tables;
-
---let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
---source include/wait_condition.inc
-
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
-
---connection node_1
-CREATE TABLE t1 (f1 INTEGER) ENGINE=INNODB;
-
---connection node_2
-set global wsrep_sync_wait=15;
-INSERT INTO t1 VALUES (1);
-
---connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
---connection node_3
-set global wsrep_sync_wait=15;
-SELECT COUNT(*) FROM t1;
-
---connection node_1
-DROP TABLE t1;