• unknown's avatar
    BUG#24860 (Incorrect SLAVE_TRANSACTION_RETRIES code can result in slave stuck): · 219e6a64
    unknown authored
    If a temporary error occured inside a group on an event that was not the first
    event of the group, the slave could get stuck because the retry counter is reset
    whenever an event was executed successfully.
    
    This patch only reset the retry counter when an entire group has been successfully
    executed, or failed with a non-transient error.
    
    
    sql/slave.cc:
      Adding debug printouts to every place where Relay_log_info::trans_retries
      is changed and to has_temporary_error() to print the error when returning.
      
      Adding debug variable all_errors_are_temporary_errors to make all errors
      for slave thread temporary errors.
      
      Adding code so that the Relay_log_info::trans_retries is only reset when
      an entire group was sucessfully executed, or a non-temporary error occured.
    mysql-test/suite/rpl/r/rpl_temporary_errors.result:
      New BitKeeper file ``mysql-test/suite/rpl/r/rpl_temporary_errors.result''
    mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt:
      New BitKeeper file ``mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt''
    mysql-test/suite/rpl/t/rpl_temporary_errors.test:
      New BitKeeper file ``mysql-test/suite/rpl/t/rpl_temporary_errors.test''
    219e6a64
rpl_temporary_errors-slave.opt 83 Bytes