Commit b1dafe5e authored by skozlov/ksm@mysql.com/virtop.(none)'s avatar skozlov/ksm@mysql.com/virtop.(none)
Browse files

Bug#32653.

Added --log-slave-updates because test requires it. 
The events based on LOAD DATA INFILE masked by --replace_regex instead restarting of slave.
Added waiting start and stop of slave after START|STOP SLAVE statements.
parent edc7090a
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ start slave;
stop slave;
reset master;
reset slave;
reset master;
start slave;
create table t1(n int not null auto_increment primary key);
insert into t1 values (NULL);
drop table t1;
@@ -25,8 +25,8 @@ master-bin.000001 219 Intvar 1 247 INSERT_ID=1
master-bin.000001	247	Query	1	338	use `test`; insert into t1 values (NULL)
master-bin.000001	338	Query	1	414	use `test`; drop table t1
master-bin.000001	414	Query	1	517	use `test`; create table t1 (word char(20) not null)
master-bin.000001	517	Begin_load_query	1	1121	;file_id=1;block_len=581
master-bin.000001	1121	Execute_load_query	1	1269	use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
master-bin.000001	517	Begin_load_query	1	1121	;file_id=#;block_len=#
master-bin.000001	1121	Execute_load_query	1	1269	use `test`; load data infile 'words.dat' into table t1 ignore 1 lines ;file_id=#
master-bin.000001	1269	Query	1	1345	use `test`; drop table t1
show binlog events from 98 limit 1;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
@@ -41,7 +41,6 @@ master-bin.000001 247 Query 1 338 use `test`; insert into t1 values (NULL)
flush logs;
create table t5 (a int);
drop table t5;
start slave;
flush logs;
stop slave;
create table t1 (n int);
@@ -55,8 +54,8 @@ master-bin.000001 219 Intvar 1 247 INSERT_ID=1
master-bin.000001	247	Query	1	338	use `test`; insert into t1 values (NULL)
master-bin.000001	338	Query	1	414	use `test`; drop table t1
master-bin.000001	414	Query	1	517	use `test`; create table t1 (word char(20) not null)
master-bin.000001	517	Begin_load_query	1	1121	;file_id=1;block_len=581
master-bin.000001	1121	Execute_load_query	1	1269	use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
master-bin.000001	517	Begin_load_query	1	1121	;file_id=#;block_len=#
master-bin.000001	1121	Execute_load_query	1	1269	use `test`; load data infile 'words.dat' into table t1 ignore 1 lines ;file_id=#
master-bin.000001	1269	Query	1	1345	use `test`; drop table t1
master-bin.000001	1345	Rotate	1	1389	master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
@@ -84,8 +83,8 @@ slave-bin.000001 219 Intvar 1 247 INSERT_ID=1
slave-bin.000001	247	Query	1	338	use `test`; insert into t1 values (NULL)
slave-bin.000001	338	Query	1	414	use `test`; drop table t1
slave-bin.000001	414	Query	1	517	use `test`; create table t1 (word char(20) not null)
slave-bin.000001	517	Begin_load_query	1	1121	;file_id=1;block_len=581
slave-bin.000001	1121	Execute_load_query	1	1271	use `test`; load data INFILE '../tmp/SQL_LOAD-2-1-1.data' INTO table t1 ignore 1 lines ;file_id=1
slave-bin.000001	517	Begin_load_query	1	1121	;file_id=#;block_len=#
slave-bin.000001	1121	Execute_load_query	1	1271	use `test`; load data INFILE 'words.dat' INTO table t1 ignore 1 lines ;file_id=#
slave-bin.000001	1271	Query	1	1347	use `test`; drop table t1
slave-bin.000001	1347	Query	1	1433	use `test`; create table t5 (a int)
slave-bin.000001	1433	Query	1	1509	use `test`; drop table t5
+0 −1
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ im_options_set : Bug#20294: Instance manager tests fail randomly
im_options_unset     : Bug#20294: Instance manager tests fail randomly
im_utils             : Bug#20294: Instance manager tests fail randomly
grant_cache          : Bug#32651: grant_cache.test fails
rpl_log              : Bug#32653: rpl_log.test fails randomly
rpl_view             : Bug#32654: rpl_view.test fails randomly
ndb_backup_print     : Bug#32357: ndb_backup_print test fails sometimes in pushbuild
rpl_log_pos          : Bug#8693 Test 'rpl_log_pos' fails sometimes
+1 −1
Original line number Diff line number Diff line
--log-slave-updates
+8 −11
Original line number Diff line number Diff line
@@ -13,22 +13,15 @@ save_master_pos;
connection slave;
sync_with_master;
stop slave;
--source include/wait_for_slave_to_stop.inc
reset master;
reset slave;
# We are going to read the slave's binlog which contains file_id (for some LOAD
# DATA INFILE); to make it repeatable (not influenced by other tests), we need
# to stop and start the slave, to be sure file_id will start from 1.
#  This can be done with 'server_stop slave', but
# this would require the manager, so most of the time the test will be skipped
# :(
# To workaround this, I (Guilhem) add a (empty) rpl_log-slave.opt (because when
# mysql-test-run finds such a file it restarts the slave before doing the
# test). That's not very elegant but I could find no better way, sorry.
start slave;
--source include/wait_for_slave_to_start.inc

let $VERSION=`select version()`;

connection master;
reset master;
create table t1(n int not null auto_increment primary key);
insert into t1 values (NULL);
drop table t1;
@@ -37,6 +30,7 @@ load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines;
select count(*) from t1;
drop table t1;
--replace_result $VERSION VERSION
--replace_regex /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /infile '.+'/infile 'words.dat'/
show binlog events;
show binlog events from 98 limit 1;
show binlog events from 98 limit 2;
@@ -69,10 +63,10 @@ connection slave;
# Note that the above 'slave start' will cause a 3rd rotate event (a fake one)
# to go into the relay log (the master always sends a fake one when replication
# starts). 
start slave;
sync_with_master;
flush logs;
stop slave;
--source include/wait_for_slave_to_stop.inc
connection master;

# Create some entries for second log
@@ -81,6 +75,7 @@ create table t1 (n int);
insert into t1 values (1);
drop table t1;
--replace_result $VERSION VERSION
--replace_regex /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /infile '.+'/infile 'words.dat'/
show binlog events;
--replace_result $VERSION VERSION
show binlog events in 'master-bin.000002';
@@ -88,9 +83,11 @@ show binary logs;
save_master_pos;
connection slave;
start slave;
--source include/wait_for_slave_to_start.inc
sync_with_master;
show binary logs;
--replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION
--replace_regex /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /INFILE '.+'/INFILE 'words.dat'/
show binlog events in 'slave-bin.000001' from 4;
--replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION
show binlog events in 'slave-bin.000002' from 4;