• unknown's avatar
    Fix for bug #19328: Slave timeout with COM_REGISTER_SLAVE error causing stop · 8aa59891
    unknown authored
    Problem: "Under high load, the slave registering to the master can timeout 
    during the COM_REGISTER_SLAVE execution. This causes an error, which 
    prevents the slave from connecting at all."
    
    Fix: Do not abort immediately, but retry registering on master.
    
    
    sql/slave.cc:
      Fix for bug #19328: Slave timeout with COM_REGISTER_SLAVE error causing stop
        - retry connecting after a failed slave registration on master.
          Reconnecting has been factored out (see try_to_reconnect() and 
          check_io_slave_killed()) to get rid of similar code used during 
          registering on master/dump requesting/event reading.
          All messages have been moved to reconnect_messages[] array 
          for easy usage and maintenance.
        - now one can force slave to reconnect using 
          ./mtr --mysqld=--loose-debug=d,FORCE_SLAVE_TO_RECONNECT_{REG, DUMP, EVENT}
    8aa59891
slave.cc 131 KB