List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:December 10 2008 1:02pm
Subject:bzr commit into mysql-5.1 branch (aelkin:2705) Bug#38734, Bug#38934,
Bug#38540
View as plain text  
#At file:///home/andrei/MySQL/BZR/FIXES/5.1-rpl-bug38934-repl_same_id_until/

 2705 Andrei Elkin	2008-12-10
      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.
modified:
  mysql-test/suite/rpl/r/rpl_server_id2.result
  mysql-test/suite/rpl/t/disabled.def
  mysql-test/suite/rpl/t/rpl_server_id2.test

per-file messages:
  mysql-test/suite/rpl/r/rpl_server_id2.result
    results changed due to bug38934 and bug#38540
  mysql-test/suite/rpl/t/disabled.def
    re-enabling rpl_server_id2.
=== modified file 'mysql-test/suite/rpl/r/rpl_server_id2.result'
--- a/mysql-test/suite/rpl/r/rpl_server_id2.result	2007-06-27 12:29:10 +0000
+++ b/mysql-test/suite/rpl/r/rpl_server_id2.result	2008-12-10 13:02:48 +0000
@@ -8,45 +8,6 @@ create table t1 (n int);
 reset master;
 stop slave;
 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;
 insert into t1 values (1);
 select * from t1;
@@ -55,3 +16,15 @@ n
 1
 stop slave;
 drop table t1;
+reset master;
+create table t1(n int);
+create table t2(n int);
+change master to master_port=12500;
+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;

=== modified file 'mysql-test/suite/rpl/t/disabled.def'
--- a/mysql-test/suite/rpl/t/disabled.def	2008-11-12 17:51:47 +0000
+++ b/mysql-test/suite/rpl/t/disabled.def	2008-12-10 13:02:48 +0000
@@ -13,4 +13,3 @@
 rpl_redirect               : Failure is sporadic and and the test is superfluous (mats)
 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_server_id2             : Bug#38540 rpl_server_id2 uses show slave status unnecessarily

=== modified file 'mysql-test/suite/rpl/t/rpl_server_id2.test'
--- a/mysql-test/suite/rpl/t/rpl_server_id2.test	2007-06-27 12:29:10 +0000
+++ b/mysql-test/suite/rpl/t/rpl_server_id2.test	2008-12-10 13:02:48 +0000
@@ -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,42 @@ select * from t1; # check that indeed 2 
 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;
+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

Thread
bzr commit into mysql-5.1 branch (aelkin:2705) Bug#38734, Bug#38934,Bug#38540Andrei Elkin10 Dec