1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
--source include/master-slave.inc
--source include/have_binlog_format_statement.inc
--connection slave
--source include/stop_slave_sql.inc
--connection master
CALL mtr.add_suppression("Statement is unsafe because it uses a system function that may return a different value on the slave");
create table t1 (i int);
insert into t1 values (1),(2);
insert into t1 values (3),(4);
# This sleep() helps trigger the failure more reliably.
insert into t1 select i+20+0*sleep(1) from t1 where i=1;
flush logs;
insert into t1 values (5),(6);
insert into t1 values (7),(8);
insert into t1 values (9),(10);
--let $master_file = query_get_value(show master status,File,1)
--let $master_pos = query_get_value(show master status,Position,1)
insert into t1 values (11),(12);
insert into t1 values (13),(14);
insert into t1 values (15),(16);
--connection slave
set global slave_parallel_threads = 1;
--replace_result $master_file MASTER_FILE $master_pos MASTER_POS
eval start slave until master_log_file='$master_file', master_log_pos=$master_pos;
--let $show_statement = SHOW SLAVE STATUS
--let $field = Slave_SQL_Running
--let $condition = = 'No'
--let $wait_timeout = 10
--source include/wait_show_condition.inc
if (`select COUNT(*) > 11 from t1`)
{
query_vertical show slave status;
SELECT * FROM t1;
die "Wrong number of rows in the table";
}
drop table t1;
--source include/stop_slave_io.inc
set global slave_parallel_threads = DEFAULT;
--connection master
drop table t1;
--let $rpl_only_running_threads= 1
--source include/rpl_end.inc
|