List:Commits« Previous MessageNext Message »
From:Dao-Gang.Qu Date:December 17 2010 9:49am
Subject:bzr commit into mysql-trunk-bugfixing branch (Dao-Gang.Qu:3443) Bug#57918
View as plain text  
#At file:///home/daogang/bzrwork/bug57918/mysql-trunk-bugfixing/ based on revid:jorgen.loland@stripped

 3443 Dao-Gang.Qu@stripped	2010-12-17
      Bug #57918  	rpl_get_master_version_and_clock times out sporadically
      
      The reason is that sometimes the slave is unblocked before the
      master server is really shutdown.
      
      Symptom 1, found warnings/errors in server log file.
      In the situation, the 'get_master_version_and_clock' func
      will return normally instead of network error expected.
      Then the 'handle_slave_io' func will go to invoke
      'get_master_uuid' func, which will return normally if
      the master server is still alive. Then the process will
      go on until invoke 'request_dump' func, which will print
      the "Error on COM_BINLOG_DUMP: 2003  Can't connect to
      MySQL server on '127.0.0.1' (111), will retry in 1 secs"
      error as symptom reported if the server is really shutdown
      in the moment, while the test is waiting for the network
      error.
      
      Symptom 2, timeout after 900 seconds
      In the situation, the 'get_master_version_and_clock',
      get_master_uuid, and 'request_dump' funcs will return
      normally if the master server is alive during the period,
      then the 'handle_slave_io' func will enter
      'while (!io_slave_killed(thd,mi))' block and exit with error
      when fail to reconnect master, which is really shutdown
      at that time. Then the test will not have a chance to start
      master, because during the period it will stall there to wait
      for a network error until it exits with a timeout error.
      
      
      To fix these problems, we source wait_until_disconnected.inc
      after shutdown master server for guaranteeing the master
      server is really shutdown before the slave is unblocked.
     @ mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
        Update test to guarantee the master server is really
        shutdown before the slave is unblocked.

    modified:
      mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
=== 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	2010-11-26 13:39:15 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test	2010-12-17 09:49:24 +0000
@@ -58,6 +58,7 @@ connection master;
 # Send shutdown to the connected server and give
 # it 10 seconds to die before zapping it
 shutdown_server 10;
+--source include/wait_until_disconnected.inc
 
 connection slave;
 --echo slave is unblocked


Attachment: [text/bzr-bundle] bzr/dao-gang.qu@sun.com-20101217094924-ollsxcnygxa7hlwt.bundle
Thread
bzr commit into mysql-trunk-bugfixing branch (Dao-Gang.Qu:3443) Bug#57918Dao-Gang.Qu17 Dec