Description:
There is the replication chain:
master ----STMT/MIXED----> slave ----ROW----> slave2.
1st slave started with --default-storage=blackhole, master and slave2 use MyISAM or InnoDB as default engine.
Master sets mixed or statement binlog format, slave is row.
Run on master following statements and sync the chain:
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY);
REPLACE INTO t1 VALUES (1);
REPLACE INTO t1 VALUES (1);
2nd slave (slave2) is stopped (SQL thread):
100816 18:39:18 [Note] Plugin 'FEDERATED' is disabled.
100816 18:39:18 [Note] Plugin 'ndbcluster' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use InnoDB's own implementation
InnoDB: Compressed tables use zlib 1.2.3
100816 18:39:18 InnoDB: highest supported file format is Barracuda.
100816 18:39:19 InnoDB 1.2.0 started; log sequence number 1595675
100816 18:39:19 [Warning] /home/ksm/oracle/repo/build-next-mr/sql/.libs/lt-mysqld: unknown variable 'loose-debug-sync-timeout=300'
100816 18:39:19 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6f3c5d16-a94c-11df-bd7e-0800272f46ab.
100816 18:39:19 [Note] Event Scheduler: Loaded 0 events
100816 18:39:19 [Note] /home/ksm/oracle/repo/build-next-mr/sql/.libs/lt-mysqld: ready for connections.
Version: '5.6.99-m5-log' socket: '/home/ksm/oracle/repo/build-next-mr/mysql-test/var/tmp/mysqld.3.sock' port: 13002 Source distribution
100816 18:39:20 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem.
100816 18:39:20 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='', master_port='3306', master_log_file='', master_log_pos='4'. New state master_host='127.0.0.1', master_port='13001', master_log_file='slave-bin.000001', master_log_pos='4'.
100816 18:39:20 [Note] Slave I/O thread: connected to master 'root@127.0.0.1:13001',replication started in log 'slave-bin.000001' at position 4
100816 18:39:20 [Note] Slave SQL thread initialized, starting replication in log 'slave-bin.000001' at position 4, relay log './mysqld-relay-bin.000001' position: 4
100816 18:39:20 [ERROR] Slave SQL: Could not execute Write_rows event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log slave-bin.000001, end_log_pos 569, Error_code: 1062
100816 18:39:20 [Warning] Slave: Duplicate entry '1' for key 'PRIMARY' Error_code: 1062
100816 18:39:20 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'slave-bin.000001' position 426
How to repeat:
Run attached test case with MTR option --skip-combinations