summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test')
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test20
1 files changed, 19 insertions, 1 deletions
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
index 6dafab19..cdfdc098 100644
--- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
@@ -67,8 +67,26 @@ connection master;
save_master_pos;
--connection slave
---source include/stop_slave.inc
+
+# Left to its own devices, the IO thread may or may not stop in error,
+# depending on what it is doing when its connection to the primary is killed
+# (e.g. a failed read results in an error, whereas if the IO thread is idly
+# waiting for events when the connection dies, it will enter into a reconnect
+# loop and reconnect). So we manually stop/start the IO thread to ensure it is
+# in a consistent state
+#
+# FIXME: We shouldn't need to stop/start the SQL thread here, but due to
+# MDEV-33268, we have to. So after fixing 33268, this should only stop/start
+# the IO thread. Note the SQL thread must be stopped first due to an invalid
+# DBUG_ASSERT in the IO thread's stop logic that depends on the state of the
+# SQL thread (also reported and to be fixed in the same ticket).
+#
+--source include/stop_slave_sql.inc
+--let rpl_allow_error=1
+--source include/stop_slave_io.inc
+--let rpl_allow_error=
--source include/start_slave.inc
+
sync_with_master;
select * from ti;
select * from tm;