include/master-slave.inc
[connection master]
connection master;
drop table if exists t1;
connection master;
create table t0 (a int) engine=myisam;
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t1(a int) engine=myisam;
insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C;
create table t2 (
pk int primary key,
kp1 int,
kp2 int,
col1 int,
key (kp1,kp2)
) engine=rocksdb;
set @tmp_binlog_format=@@binlog_format;
set @@binlog_format=ROW;
insert into t2 select a,a,a,a from t1;
create table t3 like t2;
insert into t3 select * from t2;
set binlog_format=@tmp_binlog_format;
include/sync_slave_sql_with_master.inc
connection slave;
set global debug_dbug= 'd,dbug.rocksdb.get_row_by_rowid';
include/stop_slave.inc
include/start_slave.inc
connection master;
update t2 set col1=100 where kp1 between 1 and 3 and mod(kp2,2)=0;
connection slave;
set debug_sync= 'now WAIT_FOR Reached';
set global debug_dbug = '';
set sql_log_bin=0;
delete from t2 where pk=2;
delete from t2 where pk=3;
set debug_sync= 'now SIGNAL signal.rocksdb.get_row_by_rowid_let_running';
connection master;
include/sync_slave_sql_with_master.inc
connection slave;
select * from t2 where pk < 5;
pk	kp1	kp2	col1
0	0	0	0
1	1	1	1
4	4	4	4
connection slave;
set global debug_dbug= 'd,dbug.rocksdb.get_row_by_rowid';
include/stop_slave.inc
include/start_slave.inc
connection master;
update t3 set col1=100 where kp1 between 1 and 4 and mod(kp2,2)=0;
connection slave;
call mtr.add_suppression("Deadlock found when trying to get lock");
set debug_sync= 'now WAIT_FOR Reached';
set global debug_dbug = '';
set sql_log_bin=0;
delete from t3 where pk=2;
delete from t3 where pk=3;
set debug_sync= 'now SIGNAL signal.rocksdb.get_row_by_rowid_let_running';
connection master;
include/sync_slave_sql_with_master.inc
connection slave;
select * from t3 where pk < 5;
pk	kp1	kp2	col1
0	0	0	0
1	1	1	1
4	4	4	100
set debug_sync='RESET';
connection master;
drop table t0, t1, t2, t3;
include/rpl_end.inc
