Skip to content
  • Manish Kumar's avatar
    07b8052a
    BUG#13553750 - 61096: REPLICATION FROM MASTER WITH NEW CHECKSUM ALGORITHM · 07b8052a
    Manish Kumar authored
    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.
    07b8052a
    BUG#13553750 - 61096: REPLICATION FROM MASTER WITH NEW CHECKSUM ALGORITHM
    Manish Kumar authored
    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.
Loading