mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
mysql-test/r/rpl_until.result: Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not. mysql-test/t/rpl_until.test: Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
78 lines
2.2 KiB
Plaintext
78 lines
2.2 KiB
Plaintext
source include/master-slave.inc;
|
|
|
|
# prepare version for substitutions
|
|
let $VERSION=`select version()`;
|
|
|
|
# stop slave before he will start replication also sync with master
|
|
# for avoiding undetermenistic behaviour
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
stop slave;
|
|
|
|
connection master;
|
|
# create some events on master
|
|
create table t1(n int not null auto_increment primary key);
|
|
insert into t1 values (1),(2),(3),(4);
|
|
drop table t1;
|
|
create table t2(n int not null auto_increment primary key);
|
|
insert into t2 values (1),(2);
|
|
insert into t2 values (3),(4);
|
|
drop table t2;
|
|
--replace_result $VERSION VERSION
|
|
show binlog events;
|
|
|
|
# try to replicate all queries until drop of t1
|
|
connection slave;
|
|
start slave until master_log_file='master-bin.000001', master_log_pos=244;
|
|
sleep 2;
|
|
# here table should be still not deleted
|
|
select * from t1;
|
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
|
show slave status;
|
|
|
|
# this should fail right after start
|
|
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
|
# again this table should be still not deleted
|
|
select * from t1;
|
|
sleep 2;
|
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
|
show slave status;
|
|
|
|
# try replicate all until second insert to t2;
|
|
start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=537;
|
|
sleep 2;
|
|
select * from t2;
|
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
|
show slave status;
|
|
|
|
# clean up
|
|
start slave;
|
|
connection master;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
stop slave;
|
|
|
|
# this should stop immideately
|
|
start slave until master_log_file='master-bin.000001', master_log_pos=561;
|
|
sleep 2;
|
|
# here the sql slave thread should be stopped
|
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
|
show slave status;
|
|
|
|
#testing various error conditions
|
|
--error 1276
|
|
start slave until master_log_file='master-bin', master_log_pos=561;
|
|
--error 1276
|
|
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
|
|
--error 1276
|
|
start slave until master_log_file='master-bin.000001';
|
|
--error 1276
|
|
start slave until relay_log_file='slave-relay-bin.000002';
|
|
--error 1276
|
|
start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
|
|
|
|
start slave sql_thread;
|
|
start slave until master_log_file='master-bin.000001', master_log_pos=561;
|