mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
8d18ae3986
in tests after the last 4.1->5.0 merge, and: *** The same as ChangeSet@1.1822.1.1, 2004-05-14 23:08:03+02:00, guilhem@mysql.com of MySQL 4.0 *** Replication testsuite: making the master-slave synchronization less likely to fail, by adding sleep-and-retries (max 4 times) if MASTER_POS_WAIT() returns NULL in sync_with_master and sync_slave_with_master. The problem showed up only today, in MySQL 5.0 in rpl_server_id2.test, but may affect 4.x as well, so I fixed 4.x too. Note that I am also fixing 5.0, with the same exact patch, because I don't want to leave 5.0 broken until the next 4.0->4.1->5.0 merge. client/mysqltest.c: in sync_with_master (and sync_slave_with_master), if MASTER_POS_WAIT() returns NULL, it may be that the slave SQL thread did not have time to start yes, so we sleep 1 sec and retry, 4 times at most. mysql-test/r/rpl_server_id2.result: result update mysql-test/t/rpl_server_id2.test: master_slave.inc already drops the table sql/slave.cc: gcc compiler complained that the default value of skip_lock was specified in slave.h AND slave.cc
24 lines
719 B
Text
24 lines
719 B
Text
# This test checks that a slave DOES execute queries originating
|
|
# from itself, if running with --replicate-same-server-id.
|
|
|
|
source include/master-slave.inc;
|
|
connection slave;
|
|
create table t1 (n int);
|
|
reset master;
|
|
# replicate ourselves
|
|
stop slave;
|
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
eval change master to master_port=$SLAVE_MYPORT;
|
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
--replace_column 18 #
|
|
show slave status;
|
|
start slave;
|
|
insert into t1 values (1);
|
|
save_master_pos;
|
|
sync_with_master;
|
|
select * from t1; # check that indeed 2 were inserted
|
|
# We stop the slave before cleaning up otherwise we'll get
|
|
# 'drop table t1' executed twice, so an error in the slave.err
|
|
# (not critical).
|
|
stop slave;
|
|
drop table t1;
|