mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +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:
@ -8,45 +8,6 @@ create table t1 (n int);
|
|||||||
reset master;
|
reset master;
|
||||||
stop slave;
|
stop slave;
|
||||||
change master to master_port=SLAVE_PORT;
|
change master to master_port=SLAVE_PORT;
|
||||||
show slave status;
|
|
||||||
Slave_IO_State
|
|
||||||
Master_Host 127.0.0.1
|
|
||||||
Master_User root
|
|
||||||
Master_Port SLAVE_PORT
|
|
||||||
Connect_Retry 1
|
|
||||||
Master_Log_File
|
|
||||||
Read_Master_Log_Pos 4
|
|
||||||
Relay_Log_File slave-relay-bin.000001
|
|
||||||
Relay_Log_Pos 4
|
|
||||||
Relay_Master_Log_File
|
|
||||||
Slave_IO_Running No
|
|
||||||
Slave_SQL_Running No
|
|
||||||
Replicate_Do_DB
|
|
||||||
Replicate_Ignore_DB
|
|
||||||
Replicate_Do_Table
|
|
||||||
Replicate_Ignore_Table
|
|
||||||
Replicate_Wild_Do_Table
|
|
||||||
Replicate_Wild_Ignore_Table #
|
|
||||||
Last_Errno 0
|
|
||||||
Last_Error
|
|
||||||
Skip_Counter 0
|
|
||||||
Exec_Master_Log_Pos 0
|
|
||||||
Relay_Log_Space 106
|
|
||||||
Until_Condition None
|
|
||||||
Until_Log_File
|
|
||||||
Until_Log_Pos 0
|
|
||||||
Master_SSL_Allowed No
|
|
||||||
Master_SSL_CA_File
|
|
||||||
Master_SSL_CA_Path
|
|
||||||
Master_SSL_Cert
|
|
||||||
Master_SSL_Cipher
|
|
||||||
Master_SSL_Key
|
|
||||||
Seconds_Behind_Master NULL
|
|
||||||
Master_SSL_Verify_Server_Cert No
|
|
||||||
Last_IO_Errno #
|
|
||||||
Last_IO_Error #
|
|
||||||
Last_SQL_Errno 0
|
|
||||||
Last_SQL_Error
|
|
||||||
start slave;
|
start slave;
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -55,3 +16,15 @@ n
|
|||||||
1
|
1
|
||||||
stop slave;
|
stop slave;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
reset master;
|
||||||
|
create table t1(n int);
|
||||||
|
create table t2(n int);
|
||||||
|
change master to master_port=MASTER_PORT;
|
||||||
|
start slave until master_log_file='master-bin.000001', master_log_pos=107;
|
||||||
|
*** checking until postion execution: must be only t1 in the list ***
|
||||||
|
show tables;
|
||||||
|
Tables_in_test
|
||||||
|
t1
|
||||||
|
start slave sql_thread;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
@ -13,4 +13,3 @@
|
|||||||
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
||||||
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
||||||
rpl_flushlog_loop : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main
|
rpl_flushlog_loop : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main
|
||||||
rpl_server_id2 : Bug#38540 rpl_server_id2 uses show slave status unnecessarily
|
|
||||||
|
@ -9,9 +9,6 @@ reset master;
|
|||||||
stop slave;
|
stop slave;
|
||||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||||
eval change master to master_port=$SLAVE_MYPORT;
|
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;
|
start slave;
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
@ -23,4 +20,43 @@ select * from t1; # check that indeed 2 were inserted
|
|||||||
stop slave;
|
stop slave;
|
||||||
drop table t1;
|
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
|
||||||
|
Reference in New Issue
Block a user