List:Commits« Previous MessageNext Message »
From:Nuno Carvalho Date:March 6 2012 10:53pm
Subject:bzr push into mysql-trunk branch (nuno.carvalho:3722 to 3723) Bug#13680651
View as plain text  
 3723 Nuno Carvalho	2012-03-06
      BUG#13680651 - RPL_CORRUPTION TEST FAILS WITH SLAVE STOPPED WITH WRONG ERROR CODE ON VALGRIND
      
      rpl.rpl_corruption test fails with slave stopped with wrong error code:
      1721 (expected 1595,1722) on rhel5-x86-64bit-valgrind on daily trunk.
       
      Changed error code to the correct one, 1721 SQLSTATE: HY000
      (ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE).
      When checksum validation is disabled on master, like on testcase #4, 
      master can send corrupted events to slave that will throw
      ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE error.

    modified:
      mysql-test/suite/rpl/r/rpl_corruption.result
      mysql-test/suite/rpl/t/rpl_corruption.test
 3722 Manish Kumar	2012-03-05
      BUG#13553750 - 61096: REPLICATION FROM MASTER WITH NEW CHECKSUM ALGORITHM
      
      Problem - In the event that the master is extended with a new checksum algorithm not
             	  known to the slave, the slave will deduce that there is no checksum support
             	  in the master. However, the master will send events with the new checksum
             	  while the slave treats it as no checksum, with potential for treating the
             	  checksum as part of the event body.
      
      Fix - Added a new variable BINLOG_CHECKSUM_ALG_UNKNOWN to denote the checksum algorithm
            used by master, which is unknown to the slave.
      
            Changed the code that checks the result of the 
        
              SET @master_binlog_checksum = @@global.binlog_checksum  
        
            on the slave.
             
            Set mi->checksum_alg_before_fd to BINLOG_CHECKSUM_ALG_OFF if an error is reported while
            executing the query.
                   
            Incase there is no error and the checksum algorithm is unknown function find_type 
            returns 0 and the value of mi->checksum_alg_before_fd == -1. 
            In such a case we stop the slave with an error message.
     @ mysql-test/suite/rpl/r/rpl_checksum_undef.result
        The result file for the added test.
     @ mysql-test/suite/rpl/t/rpl_checksum_undef.test
        A test for the new functionality.
     @ sql/rpl_slave.cc
        Changed the code for the undefined algorithm on the slave with fault injection.

    added:
      mysql-test/suite/rpl/r/rpl_checksum_undef.result
      mysql-test/suite/rpl/t/rpl_checksum_undef.test
    modified:
      sql/rpl_slave.cc
=== modified file 'mysql-test/suite/rpl/r/rpl_corruption.result'
--- a/mysql-test/suite/rpl/r/rpl_corruption.result	2012-02-06 11:55:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_corruption.result	2012-03-06 22:52:58 +0000
@@ -26,7 +26,7 @@ include/wait_for_slave_io_error.inc [err
 SET GLOBAL master_verify_checksum=0;
 SET GLOBAL debug="d,corrupt_read_log_event";
 START SLAVE IO_THREAD;
-include/wait_for_slave_io_error.inc [errno=1595,1722]
+include/wait_for_slave_io_error.inc [errno=1595,1721]
 SET GLOBAL debug="";
 SET GLOBAL master_verify_checksum=1;
 # 5. Slave. Corruption in network

=== modified file 'mysql-test/suite/rpl/t/rpl_corruption.test'
--- a/mysql-test/suite/rpl/t/rpl_corruption.test	2012-02-06 11:55:44 +0000
+++ b/mysql-test/suite/rpl/t/rpl_corruption.test	2012-03-06 22:52:58 +0000
@@ -91,7 +91,7 @@ SET GLOBAL master_verify_checksum=0;
 SET GLOBAL debug="d,corrupt_read_log_event";
 --connection slave
 START SLAVE IO_THREAD;
-let $slave_io_errno= 1595,1722;
+let $slave_io_errno= 1595,1721;
 --source include/wait_for_slave_io_error.inc
 --connection master
 SET GLOBAL debug="";

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (nuno.carvalho:3722 to 3723) Bug#13680651Nuno Carvalho8 Mar