List:Commits« Previous MessageNext Message »
From:ramil Date:June 15 2007 5:47am
Subject:bk commit into 5.0 tree (ramil:1.2529) BUG#28144
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of ram. When ram 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-06-15 10:47:10+05:00, ramil@stripped +8 -0
  Fix for bug #28144: "Slave_IO_Running" differs in replication tests
  
  Problem: show slave status may return different Slave_IO_Running values running some tests.
  Fix: wait for a certain slave state if needed to get tests more predictable.

  mysql-test/include/slave_start.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +13 -0
    New BitKeeper file ``mysql-test/include/slave_start.inc''

  mysql-test/include/slave_start.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +0 -0

  mysql-test/include/slave_stop.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +13 -0
    New BitKeeper file ``mysql-test/include/slave_stop.inc''

  mysql-test/include/slave_stop.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +0 -0

  mysql-test/include/slave_wait_param.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +26 -0
    New BitKeeper file ``mysql-test/include/slave_wait_param.inc''

  mysql-test/include/slave_wait_param.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +0 -0

  mysql-test/include/slave_wait_threads.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +27 -0
    New BitKeeper file ``mysql-test/include/slave_wait_threads.inc''

  mysql-test/include/slave_wait_threads.inc@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +0 -0

  mysql-test/r/rpl_log_pos.result@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +70 -21
    Fix for bug #28144: "Slave_IO_Running" differs in replication tests
      - test result adjusted.

  mysql-test/r/rpl_ssl.result@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +2 -1
    Fix for bug #28144: "Slave_IO_Running" differs in replication tests
      - test result adjusted.

  mysql-test/t/rpl_log_pos.test@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +19 -25
    Fix for bug #28144: "Slave_IO_Running" differs in replication tests
      - test has been rewritten to get certain slave state, now we use slave_wait_param.inc
        to ensure we get proper IO/SQL slave's threads states.

  mysql-test/t/rpl_ssl.test@stripped, 2007-06-15 10:47:08+05:00, ramil@stripped +6 -4
    Fix for bug #28144: "Slave_IO_Running" differs in replication tests
      - slave_stop/start.inc used to get certain slave states in order to be more predictable.

# 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:	ramil
# Host:	ramil.myoffice.izhnet.ru
# Root:	/home/ram/work/b28144/b28144.5.0

--- 1.3/mysql-test/r/rpl_ssl.result	2007-06-15 10:47:14 +05:00
+++ 1.4/mysql-test/r/rpl_ssl.result	2007-06-15 10:47:14 +05:00
@@ -53,7 +53,7 @@ Master_SSL_Cert	MYSQL_TEST_DIR/std_data/
 Master_SSL_Cipher	
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
-STOP SLAVE;
+stop slave;
 select * from t1;
 t
 1
@@ -92,3 +92,4 @@ Master_SSL_Cert	MYSQL_TEST_DIR/std_data/
 Master_SSL_Cipher	
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
+#End of 5.0 tests

--- 1.3/mysql-test/t/rpl_ssl.test	2007-06-15 10:47:14 +05:00
+++ 1.4/mysql-test/t/rpl_ssl.test	2007-06-15 10:47:14 +05:00
@@ -9,7 +9,7 @@ create table t1 (t int auto_increment, K
 sync_slave_with_master;
 
 # Set slave to use SSL for connection to master
-stop slave;
+--source include/slave_stop.inc
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
 eval change master to
   master_user='replssl',
@@ -18,7 +18,7 @@ eval change master to
   master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem',
   master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem',
   master_ssl_key='$MYSQL_TEST_DIR/std_data/client-key.pem';
-start slave;
+--source include/slave_start.inc
 
 # Switch to master and insert one record, then sync it to slave
 connection master;
@@ -35,7 +35,7 @@ select * from t1;
 query_vertical show slave status;
 
 # Stop the slave, as reported in bug#21871 it would hang
-STOP SLAVE;
+--source include/slave_stop.inc
 
 select * from t1;
 
@@ -51,7 +51,7 @@ while ($i)
   stop slave;
   dec $i;
 }
-start slave;
+--source include/slave_start.inc
 enable_query_log;
 connection master;
 insert into t1 values (NULL);
@@ -59,3 +59,5 @@ sync_slave_with_master;
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
 --replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
 query_vertical show slave status;
+
+--echo #End of 5.0 tests
--- New file ---
+++ mysql-test/include/slave_start.inc	07/06/15 10:47:08
# include/slave_start.inc
#
# SUMMARY
#
#   Start slave, wait until IO/SQL threads have started
#
# USAGE
#
#   --source include/slave_start.inc

start slave;
let $slave_running= Yes;
--source include/slave_wait_threads.inc

--- New file ---
+++ mysql-test/include/slave_stop.inc	07/06/15 10:47:08
# include/slave_stop.inc
#
# SUMMARY
#
#   Stop slave, wait until IO/SQL threads have stopped
#
# USAGE
#
#   --source include/slave_stop.inc

stop slave;
let $slave_running= No;
--source include/slave_wait_threads.inc

--- New file ---
+++ mysql-test/include/slave_wait_param.inc	07/06/15 10:47:08
# include/slave_wait_param.inc
#
# SUMMARY
#
#    Waits until SHOW SLAVE STATUS has returned a spicified value.
#
# USAGE
#
#    let $slave_param= Slave_SQL_Running;
#    let $slave_param_value= No;
#    --source include/slave_wait_param.inc

let $slave_wait_param_counter= 100;
let $slave_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1);
while (`select "$slave_value" != "$slave_param_value"`)
{
  dec $slave_wait_param_counter;
  if (!$slave_wait_param_counter)
  {
    --echo ERROR: slave_wait_param.inc waited too long for $slave_param: $slave_param_value
    query_vertical show slave status;
    exit;
  }
  sleep 0.2;
  let $slave_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1);
}

--- New file ---
+++ mysql-test/include/slave_wait_threads.inc	07/06/15 10:47:08
# include/slave_wait_threads.inc
#
# SUMMARY
#
#   Wait until IO/SQL threads have stopped
#
# USAGE
#
#   let $slave_running= {Yes, No};
#   --source include/slave_wait_threads.inc

let $slave_wait_threads_counter= 100;
let $slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
let $slave_sql_running= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, 1);
while (`select "$slave_io_running" != "$slave_running" or "$slave_sql_running" != "$slave_running"`)
{
  dec $slave_wait_threads_counter;
  if (!$slave_wait_threads_counter)
  {
    --echo ERROR: waited too long for slave IO/SQL threads status: $slave_running
    query_vertical show slave status;
    exit;
  }
  sleep 0.2;
  let $slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
  let $slave_sql_running= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, 1);
}


--- 1.42/mysql-test/r/rpl_log_pos.result	2007-06-15 10:47:14 +05:00
+++ 1.43/mysql-test/r/rpl_log_pos.result	2007-06-15 10:47:14 +05:00
@@ -7,40 +7,89 @@ start slave;
 show master status;
 File	Position	Binlog_Do_DB	Binlog_Ignore_DB
 master-bin.000001	98		
-show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	98	#	#	master-bin.000001	Yes	Yes							0		0	98	#	None		0	No						#
-stop slave;
-change master to master_log_pos=73;
-start slave;
 stop slave;
 change master to master_log_pos=73;
 show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	73	#	#	master-bin.000001	No	No							0		0	73	#	None		0	No						#
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	73
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+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	73
+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	#
 start slave;
-show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	73	#	#	master-bin.000001	No	Yes							0		0	73	#	None		0	No						#
 stop slave;
-change master to master_log_pos=173;
-start slave;
 show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	173	#	#	master-bin.000001	No	Yes							0		0	173	#	None		0	No						#
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	73
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+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	73
+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	#
 show master status;
 File	Position	Binlog_Do_DB	Binlog_Ignore_DB
 master-bin.000001	98		
-create table if not exists t1 (n int);
-drop table if exists t1;
-create table t1 (n int);
-insert into t1 values (1),(2),(3);
-stop slave;
+create table t1 (a int);
+insert into t1 values (1), (2), (3);
 change master to master_log_pos=98;
 start slave;
 select * from t1;
-n
+a
 1
 2
 3
 drop table t1;
+#End of 5.0 tests

--- 1.34/mysql-test/t/rpl_log_pos.test	2007-06-15 10:47:14 +05:00
+++ 1.35/mysql-test/t/rpl_log_pos.test	2007-06-15 10:47:14 +05:00
@@ -4,46 +4,40 @@
 source include/master-slave.inc;
 show master status;
 sync_slave_with_master;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 #
-show slave status;
-stop slave;
-change master to master_log_pos=73;
-start slave;
-sleep 5;
-stop slave;
+
+--source include/slave_stop.inc
 
 change master to master_log_pos=73;
+
 --replace_result $MASTER_MYPORT MASTER_PORT
 --replace_column 1 # 8 # 9 # 23 # 33 #
-show slave status;
-start slave;
-sleep 5;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 #
-show slave status;
-stop slave;
-change master to master_log_pos=173;
+query_vertical show slave status;
+
 start slave;
-sleep 2;
+let $slave_param= Slave_SQL_Running;                                                                                    
+let $slave_param_value= Yes;
+--source include/slave_wait_param.inc
+let $slave_param= Slave_IO_Running;                                                                                    
+let $slave_param_value= No;
+--source include/slave_wait_param.inc
+--source include/slave_stop.inc
+
 --replace_result $MASTER_MYPORT MASTER_PORT
 --replace_column 1 # 8 # 9 # 23 # 33 #
-show slave status;
+query_vertical show slave status;
+
 connection master;
 show master status;
-create table if not exists t1 (n int);
-drop table if exists t1;
-create table t1 (n int);
-insert into t1 values (1),(2),(3);
+create table t1 (a int);                                                                         
+insert into t1 values (1), (2), (3);
 save_master_pos;
 connection slave;
-stop slave;
 change master to master_log_pos=98;
-start slave;
+--source include/slave_start.inc
 sync_with_master;
 select * from t1;
 connection master;
 drop table t1;
 sync_slave_with_master;
 
-# End of 4.1 tests
+--echo #End of 5.0 tests
Thread
bk commit into 5.0 tree (ramil:1.2529) BUG#28144ramil15 Jun