• unknown's avatar
    Bug #45214 get_master_version_and_clock does not report error when queries fail · aa4b8939
    unknown authored
            
    The "get_master_version_and_clock(...)" function in sql/slave.cc ignores 
    error and passes directly when queries fail, or queries succeed 
    but the result retrieved is empty.
      
    The "get_master_version_and_clock(...)" function should try to reconnect master
    if queries fail because of transient network problems, and fail otherwise.
    The I/O thread should print a warning if the some system variables do not 
    exist on master (very old master)
    
    mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test:
      Added test file for bug #45214
    mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result:
      Added test result for bug #45214
    mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test:
      Added test file for bug #45214
    sql/slave.cc:
      The 'is_network_error()' function is added for checking if the error is caused by network.
      Added a new return value (2) to 'get_master_version_and_clock()' function result set 
      to indicate transient network errors when queries fail, and the caller should 
      try to reconnect in this case.
    aa4b8939
slave.cc 149 KB