Bug #45214 get_master_version_and_clock does not report error when queries fail

Submitted: 31 May 2009 6:05 Modified: 5 Aug 2009 12:51
Reporter: Zhenxing He Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.1, 6.0 OS:Any
Assigned to: Daogang Qu CPU Architecture:Any

[31 May 2009 6:05] Zhenxing He
Description:
function get_master_version_and_clock in sql/slave.cc does not report  error when queries fail on master. This would make the slave to get a false pass when the query failed because of network problems when running the query on master.

This was requested by Mark Callaghan in comments to BUG#41400.

How to repeat:
Reading the source code of get_master_version_and_clock in sql/slave.cc, which ignores the error and continues when queries does not return success on master.

Suggested fix:
get_master_version_and_clock should return error if the query fails and retry if the error was caused by a transient network problem, and fail otherwise.
[23 Jun 2009 8:37] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/76881

2941 Dao-Gang.Qu@sun.com	2009-06-23
      Bug #45214  get_master_version_and_clock does not report error when queries fail
      
      The "get_master_version_and_clock(...)" function in sql/slave.cc ignores error and passes directly 
      when queries get a failed response from master because of network transient disconnection between master and slave 
      or get a successful response but the result retrieved is NULL.
      
      The "get_master_version_and_clock(...)" function should retry to connect master if the queries get a failed response 
      from master because of network transient disconnection between master and slave. And it should report a NULL value error 
      and stop the slave I/O thread if the queries get a successful response but the result retrieved from master is NULL.
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[25 Jun 2009 9:25] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77124

2941 Dao-Gang.Qu@sun.com	2009-06-25
      Bug #45214  get_master_version_and_clock does not report error when queries fail
      
      The "get_master_version_and_clock(...)" function in sql/slave.cc ignores error 
      and passes directly when queries get a failed response from master because of 
      network transient disconnection between master and slave or get a successful 
      response but the result retrieved is NULL.
      
      The "get_master_version_and_clock(...)" function should retry to connect master 
      if the queries get a failed response from master because of network transient 
      disconnection between master and slave. And it should report a NULL value error 
      and stop the slave I/O thread if the queries get a successful response but the 
      result retrieved from master is NULL.
     @ mysql-test/include/restart_slave_on_disconnection.inc
        Test script for bug #45214
     @ mysql-test/suite/rpl/r/rpl_get_master_version_clock_on_disconnection.result
        Test result for bug #45214
     @ mysql-test/suite/rpl/t/rpl_get_master_version_clock_on_disconnection.test
        Test script for bug #45214
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[27 Jun 2009 2:32] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77383

2941 Dao-Gang.Qu@sun.com	2009-06-27
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      The "get_master_version_and_clock(...)" function in sql/slave.cc ignores error 
      and passes directly when queries get a failed response from master because of 
      transient network problems between master and slave or get a successful response 
      but the value of relational variable is not existent in the result retrieved.
      
      The "get_master_version_and_clock(...)" function should try to reconnect master 
      if the queries get a failed response from master because of transient network 
      problems between master and slave. And it should report a nonexistent value error 
      or print a warning information if the queries get a successful response but the 
      value of relational variable is not existent in the result retrieved.   	
     @ mysql-test/extra/rpl_tests/rpl_get_master_version_clock_on_disconnection.test
        Test script for bug #45214
     @ mysql-test/suite/rpl/r/rpl_get_master_version_clock_on_disconnection.result
        Test result for bug #45214
     @ mysql-test/suite/rpl/t/rpl_get_master_version_clock_on_disconnection.test
        Test script for bug #45214
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[1 Jul 2009 2:53] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77603

2941 Dao-Gang.Qu@sun.com	2009-07-01
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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 information if the queries succeed
      but the result retrieved is empty.	
     @ mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
        Test script for bug #45214
     @ mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
        Test result for bug #45214
     @ mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
        Test script for bug #45214
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[1 Jul 2009 6:16] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77612

2941 Dao-Gang.Qu@sun.com	2009-07-01
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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
        Test script for bug #45214
     @ mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
        Test result for bug #45214
     @ mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
        Test script for bug #45214
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[1 Jul 2009 13:34] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77663

2941 Dao-Gang.Qu@sun.com	2009-07-01
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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
        Test script for bug #45214
     @ mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
        Test result for bug #45214
     @ mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
        Test script for bug #45214
     @ sql/slave.cc
        Update the slave.cc for fixing bug #45214
[2 Jul 2009 7:15] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77727

2941 Dao-Gang.Qu@sun.com	2009-07-02
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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
        For fixing bug #45214,
        The 'is_network_error()' function is added for checking if the error is caused by network.
        The 'get_master_version_and_clock()' result set function is changed with the new value to force reconnecting when queries fail.
[2 Jul 2009 10:56] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77757

2941 Dao-Gang.Qu@sun.com	2009-07-02
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[3 Jul 2009 13:05] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77902

2941 Dao-Gang.Qu@sun.com	2009-07-03
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[6 Jul 2009 7:23] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77972

2941 Dao-Gang.Qu@sun.com	2009-07-06
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[6 Jul 2009 7:54] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/77975

2941 Dao-Gang.Qu@sun.com	2009-07-06
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[7 Jul 2009 3:12] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78071

2941 Dao-Gang.Qu@sun.com	2009-07-07
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[7 Jul 2009 10:30] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78108

2941 Dao-Gang.Qu@sun.com	2009-07-07
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[10 Jul 2009 9:03] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78352

3018 Dao-Gang.Qu@sun.com	2009-07-10
      Bug #45214  get_master_version_and_clock does not report error when queries fail
            
      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.
[14 Jul 2009 1:43] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78608

3019 Dao-Gang.Qu@sun.com	2009-07-14
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[15 Jul 2009 15:05] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78742

3465 Dao-Gang.Qu@sun.com	2009-07-15 [merge]
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[15 Jul 2009 15:31] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78745

3465 Dao-Gang.Qu@sun.com	2009-07-15 [merge]
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[15 Jul 2009 15:45] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78746

3022 Dao-Gang.Qu@sun.com	2009-07-15
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[16 Jul 2009 7:00] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78801

3469 Dao-Gang.Qu@sun.com	2009-07-16 [merge]
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[16 Jul 2009 7:01] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78802

3029 Dao-Gang.Qu@sun.com	2009-07-16
      Bug #45214  get_master_version_and_clock does not report error when queries fail
              
      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.
[17 Jul 2009 5:08] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78907

3471 Dao-Gang.Qu@sun.com	2009-07-17
      Bug #45214  get_master_version_and_clock does not report error when queries fail
      
      Append the patch for resolveing problems, which have been brought by committing BUG#45214.
[17 Jul 2009 5:12] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78909

3031 Dao-Gang.Qu@sun.com	2009-07-17
      Bug #45214  get_master_version_and_clock does not report error when queries fail
      
      Append the patch for resolving the problems, which have been brought by commiting bug#45214.
[17 Jul 2009 7:29] Daogang Qu
pushed to mysql-5.1-bugteam and mysql-pe
[4 Aug 2009 19:50] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090804194615-h40sa098mx4z49qg) (version source revid:dao-gang.qu@sun.com-20090720050241-m1jx1y1c80aphjyl) (merge vers: 5.4.4-alpha) (pib:11)
[4 Aug 2009 20:45] Bugs System
Pushed into 5.1.38 (revid:davi.arnaut@sun.com-20090804204317-ggodqkik7de6nfpz) (version source revid:davi.arnaut@sun.com-20090804204317-ggodqkik7de6nfpz) (merge vers: 5.1.38) (pib:11)
[5 Aug 2009 12:51] Jon Stephens
Documented bugfix in the 5.1.38 and 5.4.4 changelogs as follows:

      The internal function get_master_version_and_clock() (defined in 
      sql/slave.cc) ignored errors and passed directly when queries failed, 
      or when queries succeeded but the result retrieved was empty. Now this 
      function tries to reconnect the master if a query fails due to transient 
      network problems, and to fail otherwise. The I/O thread now prints a 
      warning if the some system variables do not exist on master (in the event 
      the master is a very old version of MySQQL, compared to the slave.)
[12 Aug 2009 21:59] Paul DuBois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[14 Aug 2009 22:50] Paul DuBois
Ignore previous comment about 5.4.2.
[1 Oct 2009 5:58] Bugs System
Pushed into 5.1.39-ndb-6.3.28 (revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (version source revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (merge vers: 5.1.39-ndb-6.3.28) (pib:11)
[1 Oct 2009 7:25] Bugs System
Pushed into 5.1.39-ndb-7.0.9 (revid:jonas@mysql.com-20091001072547-kv17uu06hfjhgjay) (version source revid:jonas@mysql.com-20091001071652-irejtnumzbpsbgk2) (merge vers: 5.1.39-ndb-7.0.9) (pib:11)
[1 Oct 2009 13:25] Bugs System
Pushed into 5.1.39-ndb-7.1.0 (revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (version source revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (merge vers: 5.1.39-ndb-7.1.0) (pib:11)
[5 Oct 2009 10:50] Bugs System
Pushed into 5.1.39-ndb-6.2.19 (revid:jonas@mysql.com-20091005103850-dwij2dojwpvf5hi6) (version source revid:jonas@mysql.com-20090930185117-bhud4ek1y0hsj1nv) (merge vers: 5.1.39-ndb-6.2.19) (pib:11)
[7 Dec 2009 14:23] James Day
This bug fix introduced bug #48369 because the code that was supposed to ensure compatibility with 4.x used a statement incompatible with 4.0, breaking replication from 4.0 to 5.1. The slave sends that statement to the older master.
[16 Jan 2010 0:42] Paul DuBois
Noted in 5.5.0 changelog.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.190 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.