Hi Daogang,
Nice work, patch approved!
See some minor comments below!
Dao-Gang.Qu@stripped wrote:
> #At file:///home/daogangqu/mysql/bzrwork/bugtest/mysql-5.1-bugteam/ based on
> revid:dao-gang.qu@stripped
>
> 3093 Dao-Gang.Qu@stripped 2009-09-16
> Bug #46931 rpl.rpl_get_master_version_and_clock fails on hpux11.31
>
> Network error happened here, but it can be caused by CR_CONNECTION_ERROR,
> CR_CONN_HOST_ERROR, CR_SERVER_GONE_ERROR, CR_SERVER_LOST, ER_CON_COUNT_ERROR,
> and ER_SERVER_SHUTDOWN. We just check CR_SERVER_LOST here, so the test fails.
>
> To fix the problem, check all the error numbers that cause the network error.
I'd suggest: ..., check all errors that can be cause by the master shuts
down.
> @ mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
> Added a 'if' sentence to check all the error numbers that cause the network
> error.
>
Here too
> modified:
> mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
> mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
> === modified file 'mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test'
> --- a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test 2009-07-16
> 06:56:43 +0000
> +++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test 2009-09-16
> 07:28:19 +0000
> @@ -41,7 +41,17 @@ eval SELECT RELEASE_LOCK($debug_lock);
> connection slave;
> source include/wait_for_slave_io_error.inc;
> let $last_io_errno= query_get_value("show slave status", Last_IO_Errno, 1);
> -echo Slave_IO_Errno= $last_io_errno;
> +--echo Check network error happened here
> +if (`SELECT '$last_io_errno' = '2013' || # CR_SERVER_LOST
> + '$last_io_errno' = '2003' || # CR_CONN_HOST_ERROR
> + '$last_io_errno' = '2002' || # CR_CONNECTION_ERROR
> + '$last_io_errno' = '2006' || # CR_SERVER_GONE_ERROR
> + '$last_io_errno' = '1040' || # ER_CON_COUNT_ERROR
> + '$last_io_errno' = '1053' # ER_SERVER_SHUTDOWN
> + `)
> +{
> + --echo NETWORK ERROR
> +}
>
> # Write file to make mysql-test-run.pl start up the server again
> --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
>
> === modified file 'mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result'
> --- a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result 2009-07-16
> 06:56:43 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result 2009-09-16
> 07:28:19 +0000
> @@ -16,7 +16,8 @@ start slave;
> SELECT RELEASE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP");
> RELEASE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP")
> 1
> -Slave_IO_Errno= 2013
> +Check network error happened here
> +NETWORK ERROR
> SELECT IS_FREE_LOCK("debug_lock.before_get_SERVER_ID");
> IS_FREE_LOCK("debug_lock.before_get_SERVER_ID")
> 1
> @@ -29,7 +30,8 @@ start slave;
> SELECT RELEASE_LOCK("debug_lock.before_get_SERVER_ID");
> RELEASE_LOCK("debug_lock.before_get_SERVER_ID")
> 1
> -Slave_IO_Errno= 2013
> +Check network error happened here
> +NETWORK ERROR
> set global debug= '';
> reset master;
> include/stop_slave.inc
>