source include/master-slave.inc; call mtr.add_suppression("Deadlock found"); --echo **** On Master **** connection master; SET SESSION BINLOG_FORMAT=ROW; CREATE TABLE t1 (a INT PRIMARY KEY, b INT); INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4); --echo **** On Slave **** sync_slave_with_master; SHOW STATUS LIKE 'Slave_retried_transactions'; # since bug#31552/31609 idempotency is not default any longer. In order # the following UPDATE t1 to pass the mode is switched temprorarily set @@global.slave_exec_mode= 'IDEMPOTENT'; UPDATE t1 SET a = 5, b = 47 WHERE a = 1; SELECT * FROM t1; --echo **** On Master **** connection master; UPDATE t1 SET a = 5, b = 5 WHERE a = 1; SELECT * FROM t1; #SHOW BINLOG EVENTS; --echo **** On Slave **** sync_slave_with_master; set @@global.slave_exec_mode= default; SHOW STATUS LIKE 'Slave_retried_transactions'; SELECT * FROM t1; source include/show_slave_status2.inc; DROP TABLE t1; --echo **** On Master **** connection master; DROP TABLE t1; # We must wait for the slave to stop. # Otherwise the warnings in the error log about deadlock may be written to # the error log only during shutdown, and currently the suppression of # "Deadlock found" set in this test case is not effective during server # shutdown. connection slave; STOP SLAVE; --source include/wait_for_slave_to_stop.inc