Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: [patch 5/5] Add tests for WL3127 slave side TCP address binding

From: Andrei Elkin <aelkin(at)mysql.com>
Date: Thu Jan 31 2008 - 05:29:21 EST


Stewart, hello!

We discussed previously the sleep issue. I have a specific offer how to get rid of it, please read on.

> Test setting the bind address to something sensible
> (that should work) and something silly (that shouldn't work)
> and test that data does/doesn't get across.
>
> Index: telco/mysql-test/suite/rpl/t/rpl_change_master.test
> ===================================================================
> --- telco.orig/mysql-test/suite/rpl/t/rpl_change_master.test 2007-10-08 11:54:10.631909266 +1000
> +++ telco/mysql-test/suite/rpl/t/rpl_change_master.test 2007-10-08 18:18:20.964742030 +1000
> @@ -35,3 +35,52 @@ connection slave;
> sync_with_master;
>
> # End of 4.1 tests
> +--echo master_bind tests
> +connection slave;
> +stop slave;
> +--replace_column 1 # 7 # 8 # 9 # 22 # 23 #
> +--replace_result $MASTER_MYPORT MASTER_PORT
> +--query_vertical show slave status;
> +change master to master_bind='127.0.0.1';
> +--replace_result $MASTER_MYPORT MASTER_PORT
> +--replace_column 1 # 7 # 8 # 9 # 22 # 23 #
> +--query_vertical show slave status;
> +start slave;
> +connection master;
> +create table t1(n int);
> +insert into t1 values(1);
> +insert into t1 values(2);
> +save_master_pos;
> +connection slave;
> +sync_with_master;
> +select * from t1;
> +
> +connection slave;
> +stop slave;
> +--replace_result $MASTER_MYPORT MASTER_PORT
> +--replace_column 7 # 8 # 9 # 22 # 23 #
> +--query_vertical show slave status;
> +change master to master_bind='1.1.1.1';
> +connection master;
> +insert into t1 values (3);
> +save_master_pos;
> +connection slave;
> +start slave;

> +--real_sleep 1 # wait for I/O thread to try connection

As the slave's io thread is to stop with an error we are better to wait for that event with

include/wait_for_slave_param.inc

where the parameters to watch are

let $slave_param= Last_IO_Errno;
let $slave_param_value= 2004;

Do you need help?X

> +--replace_result $MASTER_MYPORT MASTER_PORT
> +--replace_column 7 # 8 # 9 # 22 # 23 #
> +--query_vertical show slave status;
> +select * from t1;
> +
> +connection slave;
> +stop slave;
> +change master to master_bind='127.0.0.1';
> +start slave;
> +sync_with_master;
> +select * from t1;
> +
> +connection master;
> +drop table t1;
> +save_master_pos;
> +connection slave;
> +sync_with_master;
> Index: telco/mysql-test/suite/rpl/r/rpl_change_master.result
> ===================================================================
> --- telco.orig/mysql-test/suite/rpl/r/rpl_change_master.result 2007-10-08 11:54:10.863920645 +1000
> +++ telco/mysql-test/suite/rpl/r/rpl_change_master.result 2007-10-08 18:22:50.249949554 +1000
> @@ -98,3 +98,191 @@ n
> 1
> 2
> drop table t1;
> +master_bind tests
> +stop slave;
> +show slave status;;
> +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 #
> +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 #
> +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 NULL
> +Master_SSL_Verify_Server_Cert No
> +Last_IO_Errno 0
> +Last_IO_Error
> +Last_SQL_Errno 0
> +Last_SQL_Error
> +Master_Bind 0.0.0.0
> +change master to master_bind='127.0.0.1';
> +show slave status;;
> +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 #
> +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 #
> +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 NULL
> +Master_SSL_Verify_Server_Cert No
> +Last_IO_Errno 0
> +Last_IO_Error
> +Last_SQL_Errno 0
> +Last_SQL_Error
> +Master_Bind 127.0.0.1
> +start slave;
> +create table t1(n int);
> +insert into t1 values(1);
> +insert into t1 values(2);
> +select * from t1;
> +n
> +1
> +2
> +stop slave;
> +show slave status;;
> +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 #
> +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 #
> +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 NULL
> +Master_SSL_Verify_Server_Cert No
> +Last_IO_Errno 0
> +Last_IO_Error
> +Last_SQL_Errno 0
> +Last_SQL_Error
> +Master_Bind 127.0.0.1
> +change master to master_bind='1.1.1.1';
> +insert into t1 values (3);
> +start slave;
> +show slave status;;
> +Slave_IO_State Connecting to master
> +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 #
> +Relay_Log_File #
> +Relay_Log_Pos #
> +Relay_Master_Log_File master-bin.000001
> +Slave_IO_Running No
> +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 #
> +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 NULL
> +Master_SSL_Verify_Server_Cert No
> +Last_IO_Errno 2004
> +Last_IO_Error error connecting to master 'root@127.0.0.1:MASTER_PORT' - retry-time: 1 retries: 10
> +Last_SQL_Errno 0
> +Last_SQL_Error
> +Master_Bind 1.1.1.1
> +select * from t1;
> +n
> +1
> +2
> +stop slave;
> +change master to master_bind='127.0.0.1';
> +start slave;
> +select * from t1;
> +n
> +1
> +2
> +3
> +drop table t1;
> Index: telco/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
> ===================================================================
> --- telco.orig/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result 2007-10-08 12:05:05.276017334 +1000
> +++ telco/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result 2007-10-08 12:03:10.642394944 +1000
> @@ -153,6 +153,7 @@ Last_IO_Errno 0
> Last_IO_Error
> Last_SQL_Errno 0
> Last_SQL_Error
> +Master_Bind 0.0.0.0
> SELECT count(*) "Slave norm" FROM test.regular_tbl;
> Slave norm 500
> SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
>
> --
> Stewart Smith
>
> --
> MySQL Code Commits Mailing List
> For list archives: http://lists.mysql.com/commits
> To unsubscribe: http://lists.mysql.com/commits?unsub=aelkin@mysql.com
>

cheers,

Andrei

-- 
MySQL Code Commits Mailing List
For list archives: 
http://lists.mysql.com/commits
To unsubscribe:    
http://lists.mysql.com/commits?unsub=lists@pantek.com
Received on Thu Jan 31 05:29:46 2008

This archive was generated by hypermail 2.1.8 : Thu Jul 03 2008 - 20:17:20 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library