Skip to content
  • Shivji Jha's avatar
    81acc78c
    BUG#18373786: RPL_STM_RESET_SLAVE FAILES WITH · 81acc78c
    Shivji Jha authored
                  WARNING 1905 IN DAILY-TRUNK
    
    Background:
    
    RESET SLAVE deletes temporary tables at slave.
    With file/position-based replication, the slave
    forgets the logs and positions after RESET SLAVE.
    The slave therefore starts replicating from the
    beginning of the binary log. This implies that
    the temporary table that was created and dropped before
    RESET SLAVE is created and dropped once again.
    
    Analysis:
    
    A1: The test does not fail with gtid mode enabled.
        Specifically, when the autopositioning protocol
        is being used.
    
    A2: Post RESET SLAVE there is no sync point in the test.
        As a result, it is not deterministic as to which is
        the state after the following sequence of commands:
    
        RESET SLAVE;
        START SLAVE;
        STOP SLAVE;
    
        We could have one of the following states:
        S1) Temporary table was not created post RESET SLAVE
        S2) Temporary table was created but not dropped.
        S3) Temporary table was created and dropped.
    
    A3: With the test is not using autopositioning protocol and
        the state was S2(as stated above), warning 1905
        will be generated.
    
    Fix:
    
    Insert sync points in the test following all RESET SLAVEs
    to have deterministic states with respect to temporary
    tables.
    81acc78c
    BUG#18373786: RPL_STM_RESET_SLAVE FAILES WITH
    Shivji Jha authored
                  WARNING 1905 IN DAILY-TRUNK
    
    Background:
    
    RESET SLAVE deletes temporary tables at slave.
    With file/position-based replication, the slave
    forgets the logs and positions after RESET SLAVE.
    The slave therefore starts replicating from the
    beginning of the binary log. This implies that
    the temporary table that was created and dropped before
    RESET SLAVE is created and dropped once again.
    
    Analysis:
    
    A1: The test does not fail with gtid mode enabled.
        Specifically, when the autopositioning protocol
        is being used.
    
    A2: Post RESET SLAVE there is no sync point in the test.
        As a result, it is not deterministic as to which is
        the state after the following sequence of commands:
    
        RESET SLAVE;
        START SLAVE;
        STOP SLAVE;
    
        We could have one of the following states:
        S1) Temporary table was not created post RESET SLAVE
        S2) Temporary table was created but not dropped.
        S3) Temporary table was created and dropped.
    
    A3: With the test is not using autopositioning protocol and
        the state was S2(as stated above), warning 1905
        will be generated.
    
    Fix:
    
    Insert sync points in the test following all RESET SLAVEs
    to have deterministic states with respect to temporary
    tables.
Loading