1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Bug#38934 slave slave until does not work with --replicate-same-server-id

Bug#38540 rpl_server_id2 uses show slave status unnecessarily
            
Slave did not perform any event recorded into the relay log from some
different master when it was started with --replicate-same-server-id.
The reason appeared to be a consequence of BUG#38734 which stopped the
sql thread at its startup time.
      
The real fixes for the current bug are in the patch for BUG#38734.
This changeset carries only a regression test for the bugs.  Bug#38540
gets fixed too by means of eliminating an extra show slave status.


mysql-test/suite/rpl/r/rpl_server_id2.result:
  Bug#38934 Bug#38540 changed results.
mysql-test/suite/rpl/t/disabled.def:
  rpl_server_id2 is re-enabled.
mysql-test/suite/rpl/t/rpl_server_id2.test:
  regression test for BUG#38734 is added.
  Bug#38540 requirement to get rid of show slave status is implemented.
This commit is contained in:
Andrei Elkin
2008-12-19 20:59:22 +02:00
parent 95b779ee53
commit 126c0b4433
3 changed files with 52 additions and 44 deletions

View File

@ -9,9 +9,6 @@ reset master;
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 # 35 # 36 #
query_vertical show slave status;
start slave;
insert into t1 values (1);
save_master_pos;
@ -23,4 +20,43 @@ select * from t1; # check that indeed 2 were inserted
stop slave;
drop table t1;
# End of 4.1 tests
#
# Bug#38934 slave slave until does not work with --replicate-same-server-id
#
# Verifying that slave performs all events until the master_log_pos
# in presense of --replicate-same-server-id the slave is started with.
connection master;
reset master;
# setting the until position to correspond to the first following create table
# which will make the event executed and the slave sql thread stopped
# right after that.
let $until_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
inc $until_pos;
create table t1(n int);
create table t2(n int);
connection slave;
--replace_result $MASTER_MYPORT MASTER_PORT
eval change master to master_port=$MASTER_MYPORT;
eval start slave until master_log_file='master-bin.000001', master_log_pos=$until_pos;
--source include/wait_for_slave_io_to_start.inc
--source include/wait_for_slave_sql_to_stop.inc
--echo *** checking until postion execution: must be only t1 in the list ***
show tables;
# cleanup
connection slave;
start slave sql_thread;
connection master;
drop table t1;
drop table t2;
sync_slave_with_master;
# End of tests