diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result index c1d09e04cd0..0809af5f943 100644 --- a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result +++ b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result @@ -1,5 +1,7 @@ include/master-slave.inc [connection master] +call mtr.add_suppression("Read semi-sync reply network error"); +call mtr.add_suppression("Timeout waiting for reply of binlog"); INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master'; [connection slave] INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave'; @@ -46,14 +48,14 @@ rpl_semi_sync_master DELETED include/stop_slave.inc select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; plugin_name plugin_status +[connection master] +create table t2 (a int); +drop table t2; +[connection slave] include/start_slave.inc select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; plugin_name plugin_status [connection master] -show status like "Rpl_semi_sync_master_clients"; -Variable_name Value -select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; -plugin_name plugin_status CREATE TABLE t1(i int); INSERT INTO t1 values (3); DROP TABLE t1; diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test index 60636da35dd..4ee345e54ba 100644 --- a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test +++ b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test @@ -16,6 +16,9 @@ --source include/have_binlog_format_statement.inc --source include/master-slave.inc +call mtr.add_suppression("Read semi-sync reply network error"); +call mtr.add_suppression("Timeout waiting for reply of binlog"); + ############################################################################### # Case 1: Uninstallation of semi sync plugins should be allowed when it is # not in use i.e., when asynchronous replication is active. @@ -105,21 +108,26 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na # Step 4.2: Disable semi sync on slave. select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; +--connection master +--echo [connection master] +# Send something to the slave so that the master would notice that nobody's listening. +create table t2 (a int); drop table t2; +# and wait for plugin to be unloaded automatically +let $wait_condition=select count(*) = 0 from information_schema.plugins where plugin_name like 'rpl_%'; +--source include/wait_condition.inc + +--connection slave +--echo [connection slave] + # Step 4.3: Start IO thread on slave. --source include/start_slave.inc # Step 4.4: Uninstall semi sync plugin, it should be successful now. select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; -# Step 4.5: On Master, check that semi sync slaves are now '0'. +# Step 4.7: Check that replication is working fine at the end of the test case --connection master --echo [connection master] -show status like "Rpl_semi_sync_master_clients"; - -# Step 4.6: So uninstalling semi sync plugin should be allowed -select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; - -# Step 4.7: Check that replication is working fine at the end of the test case CREATE TABLE t1(i int); INSERT INTO t1 values (3); DROP TABLE t1;