List:Commits« Previous MessageNext Message »
From:Mats Kindahl Date:April 10 2007 3:15pm
Subject:bk commit into 5.1 tree (mats:1.2547) BUG#25688
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of mats. When mats does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-04-10 15:15:06+02:00, mats@romeo.(none) +2 -0
  BUG#25688 (RBR: circular replication may cause STMT_END_F flags to be skipped):
  Adding test case.

  mysql-test/r/rpl_ndb_circular_simplex.result@stripped, 2007-04-10 15:15:02+02:00,
mats@romeo.(none) +61 -0
    New BitKeeper file ``mysql-test/r/rpl_ndb_circular_simplex.result''

  mysql-test/r/rpl_ndb_circular_simplex.result@stripped, 2007-04-10 15:15:02+02:00,
mats@romeo.(none) +0 -0

  mysql-test/t/rpl_ndb_circular_simplex.test@stripped, 2007-04-10 15:15:02+02:00,
mats@romeo.(none) +77 -0
    New BitKeeper file ``mysql-test/t/rpl_ndb_circular_simplex.test''

  mysql-test/t/rpl_ndb_circular_simplex.test@stripped, 2007-04-10 15:15:02+02:00,
mats@romeo.(none) +0 -0

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	mats
# Host:	romeo.(none)
# Root:	/home/bk/b25688-mysql-5.1-rpl
--- New file ---
+++ mysql-test/r/rpl_ndb_circular_simplex.result	07/04/10 15:15:02
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
CREATE TABLE t1 (a int key, b int) ENGINE=NDB;
SHOW TABLES;
Tables_in_test
t1
RESET MASTER;
INSERT INTO t1 VALUES (1,2);
INSERT INTO t1 VALUES (2,3);
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=SLAVE_PORT,MASTER_USER="root";
RESET MASTER;
START SLAVE;
SHOW SLAVE STATUS;
Slave_IO_State	#
Master_Host	127.0.0.1
Master_User	root
Master_Port	9308
Connect_Retry	60
Master_Log_File	slave-bin.000001
Read_Master_Log_Pos	468
Relay_Log_File	#
Relay_Log_Pos	#
Relay_Master_Log_File	slave-bin.000001
Slave_IO_Running	Yes
Slave_SQL_Running	Yes
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	468
Relay_Log_Space	#
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	#
SELECT * FROM t1 ORDER BY a;
a	b
1	2
2	3
STOP SLAVE;
START SLAVE;
SELECT * FROM t1 ORDER BY a;
a	b
1	2
2	3

--- New file ---
+++ mysql-test/t/rpl_ndb_circular_simplex.test	07/04/10 15:15:02
--source include/have_ndb.inc
--source include/have_binlog_format_row.inc
--source include/master-slave.inc

connection master;
CREATE TABLE t1 (a int key, b int) ENGINE=NDB;
sync_slave_with_master;
SHOW TABLES;

# Lose the events from the slave binary log: there is no
# need to re-create the table on the master.
connection slave;
RESET MASTER;

# Insert some values on the slave and master
connection master;
INSERT INTO t1 VALUES (1,2);
# Switch to slave once event is applied and insert a row
sync_slave_with_master;
connection slave;
INSERT INTO t1 VALUES (2,3);

# ... it is now very probable that we have a mixed event in the binary
# log.  If we don't, the test should still pass, but will not test the
# mixed event situation.

# The statement is disabled since it cannot reliably show the same
# info all the time.  Use it for debug purposes.

#SHOW BINLOG EVENTS;

# Replicate back to the master to test this mixed event on the master
STOP SLAVE;

connection master;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval CHANGE MASTER TO
MASTER_HOST="127.0.0.1",MASTER_PORT=$SLAVE_MYPORT,MASTER_USER="root";

RESET MASTER;
START SLAVE;

connection slave;
save_master_pos;
connection master;
sync_with_master;

# The statement is disabled since it cannot reliably show the same
# info all the time.  Use it for debug purposes.

#SHOW BINLOG EVENTS;

# Check that there is no error in replication
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 8 # 9 # 23 # 33 #
query_vertical SHOW SLAVE STATUS;

# Check that we have the data on the master
SELECT * FROM t1 ORDER BY a;

# We should now have another mixed event, likely with "slave" server
# id last, and with the STMT_END_F flag set.

# The statement is disabled since it cannot reliably show the same
# info all the time.  Use it for debug purposes.

#SHOW BINLOG EVENTS;

# now lets see that this data is applied correctly on the slave
STOP SLAVE;
save_master_pos;

connection slave;
START SLAVE;

# check that we have the data on the slave
sync_with_master;
SELECT * FROM t1 ORDER BY a;

Thread
bk commit into 5.1 tree (mats:1.2547) BUG#25688Mats Kindahl10 Apr