mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	in tests after the last 4.1->5.0 merge, and: *** The same as ChangeSet@1.1822.1.1, 2004-05-14 23:08:03+02:00, guilhem@mysql.com of MySQL 4.0 *** Replication testsuite: making the master-slave synchronization less likely to fail, by adding sleep-and-retries (max 4 times) if MASTER_POS_WAIT() returns NULL in sync_with_master and sync_slave_with_master. The problem showed up only today, in MySQL 5.0 in rpl_server_id2.test, but may affect 4.x as well, so I fixed 4.x too. Note that I am also fixing 5.0, with the same exact patch, because I don't want to leave 5.0 broken until the next 4.0->4.1->5.0 merge. client/mysqltest.c: in sync_with_master (and sync_slave_with_master), if MASTER_POS_WAIT() returns NULL, it may be that the slave SQL thread did not have time to start yes, so we sleep 1 sec and retry, 4 times at most. mysql-test/r/rpl_server_id2.result: result update mysql-test/t/rpl_server_id2.test: master_slave.inc already drops the table sql/slave.cc: gcc compiler complained that the default value of skip_lock was specified in slave.h AND slave.cc
		
			
				
	
	
		
			25 lines
		
	
	
		
			719 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			719 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This test checks that a slave DOES execute queries originating
 | |
| # from itself, if running with --replicate-same-server-id.
 | |
| 
 | |
| source include/master-slave.inc;
 | |
| connection slave;
 | |
| create table t1 (n int);
 | |
| 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 #
 | |
| show slave status;
 | |
| start slave;
 | |
| insert into t1 values (1);
 | |
| save_master_pos;
 | |
| sync_with_master;
 | |
| select * from t1; # check that indeed 2 were inserted
 | |
| # 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;
 |