#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#38540 | Sven Sandberg | 11 Sep |