include/master-slave.inc [connection master] connection slave; include/stop_slave.inc connection master; call mtr.add_suppression("Timeout waiting for reply of binlog*"); set global rpl_semi_sync_master_enabled = ON; SET @@GLOBAL.rpl_semi_sync_master_timeout=100; create table t1 (i int); connection slave; set global rpl_semi_sync_slave_enabled = ON; CALL mtr.add_suppression("Semi-sync slave net_flush*"); SET @save_debug= @@global.debug; SET GLOBAL debug_dbug="+d,semislave_failed_net_flush"; include/start_slave.inc connection master; connection slave; "Assert that the net_fulsh() reply failed is present in slave error log. FOUND 1 /Semi-sync slave net_flush\(\) reply failed/ in mysqld.2.err "Assert that Slave IO thread is up and running." SHOW STATUS LIKE 'Slave_running'; Variable_name Value Slave_running ON Slave_IO_Running= Yes "Clear the network failure simulation." SET GLOBAL debug_dbug= @save_debug; connection master; insert into t1 values (10); connection slave; connection slave; # Compare the tables on master and slave. include/diff_tables.inc [master:t1, slave:t1] connection master; drop table t1; connection slave; set global rpl_semi_sync_slave_enabled = OFF; connection master; set global rpl_semi_sync_master_enabled = OFF; SET @@GLOBAL.rpl_semi_sync_master_timeout = 10000; include/rpl_end.inc