List:Commits« Previous MessageNext Message »
From:Sven Sandberg Date:September 11 2008 7:21am
Subject:bzr commit into mysql-5.1 branch (sven:2737) Bug#38540
View as plain text  
#At file:///home/sven/bzr/b38540-rpl_server_id2/5.1-bugteam/

 2737 Sven Sandberg	2008-09-11
      BUG#38540: rpl_server_id2 uses show slave status unnecessarily
modified:
  mysql-test/suite/rpl/r/rpl_server_id2.result
  mysql-test/suite/rpl/t/rpl_server_id2.test

per-file messages:
  mysql-test/suite/rpl/r/rpl_server_id2.result
    updated result file
  mysql-test/suite/rpl/t/rpl_server_id2.test
    replaced show slave status by query_get_value
    commented test case
=== 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-09-11 07:21:08 +0000
@@ -4,54 +4,21 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
+==== Create table on slave ====
+[on slave]
 create table t1 (n int);
+==== Setup slave to replicte from itself ====
 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 rows and replicate ====
 insert into t1 values (1);
+==== Verify results ====
 select * from t1;
 n
 1
 1
+==== Clean up ====
 stop slave;
 drop table t1;

=== 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-09-11 07:21:08 +0000
@@ -1,26 +1,55 @@
-# This test checks that a slave DOES execute queries originating
-# from itself, if running with --replicate-same-server-id.
+# ==== Purpose ====
+#
+# Verify that a slave executes queries originating from itself, if
+# running with --replicate-same-server-id.
+#
+# ==== Method ====
+#
+# We run the slave with --replicate-same-server-id to ensure that it
+# replicates its own queries.  We run with --disable-log-slave-updates
+# to ensure that it does not log queries when executed in the SQL
+# thread, to avoid infinite loops of events.
+#
+# We setup the slave to replicate from itself, then run an INSERT
+# query and verify that it got executed twice.
+#
+# ==== Related bugs ====
+#
+# Bug in this test case: BUG#38540: rpl_server_id2 is nondeterministic
 
 source include/master-slave.inc;
+
+--echo ==== Create table on slave ====
+--echo [on slave]
 connection slave;
+
 create table t1 (n int);
+
+--echo ==== Setup slave to replicte from itself ====
+
 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 # 35 # 36 #
-query_vertical show slave status;
 start slave;
+
+--echo ==== Insert rows and replicate ====
+
 insert into t1 values (1);
+# It is safe to execute save_master_pos here despite we are on a
+# non-synchronized replication slave, because replicated queries are
+# not saved in the binlog.
 save_master_pos;
 sync_with_master;
+
+--echo ==== Verify results ====
+
 select * from t1; # check that indeed 2 were inserted
-# We stop the slave before cleaning up otherwise we'll get
+
+--echo ==== Clean up ====
+
+# 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;
-
-# End of 4.1 tests

Thread
bzr commit into mysql-5.1 branch (sven:2737) Bug#38540Sven Sandberg11 Sep