Skip to content
  • Sujatha Sivakumar's avatar
    e4640346
    Bug#17653275: --SLAVE-SKIP-ERRORS WON'T SKIP MISSING · e4640346
    Sujatha Sivakumar authored
    DATABASE/TABLE
    
    Problem:
    ========
    Even when --slave-skip-errors=all replication is broken.
    31017  1:00:19 [ERROR] Slave SQL: Error executing row event:
    'Table 'kubmac_Vmyb524.mybb_sessions' doesn't exist',
    Error_code: 1146
    
    Setting --slave_skip_error = 1677 doesn't make a difference.
    Slave in row based replication fails with Error_code: 1677.
    It seems that --slave_skip_error is ignored in row based
    replication.
    
    Analysis:
    =========
    --slave_skip_error is not ignored in case of row based
    replication. BUG#39393 has already addressed this issue.
    But there are two special cases which doesn't honor
    slave_skip_error.
    
    1. When opening and locking a table fails, it was considered
    as a critical error and it was not honoring through
    slave_skip_error.
    
    2. When field conversions fail on slave side in row based
    replication this too was handled as said above.
    
    Since slave_skip_error is meant to skip all the errors that
    are reported during application of an event hence we should
    remove this restriction.
    
    Fix:
    ===
    The above restriction is removed now. Post fix, upon
    receiving an error from underlying layer, first it checks
    whether the error can be ignored or not. If it has to be
    ignored and log_warnings > 1, then a warning is printed into
    the error log and server continues as it does in the case of
    other ignored errors.
    e4640346
    Bug#17653275: --SLAVE-SKIP-ERRORS WON'T SKIP MISSING
    Sujatha Sivakumar authored
    DATABASE/TABLE
    
    Problem:
    ========
    Even when --slave-skip-errors=all replication is broken.
    31017  1:00:19 [ERROR] Slave SQL: Error executing row event:
    'Table 'kubmac_Vmyb524.mybb_sessions' doesn't exist',
    Error_code: 1146
    
    Setting --slave_skip_error = 1677 doesn't make a difference.
    Slave in row based replication fails with Error_code: 1677.
    It seems that --slave_skip_error is ignored in row based
    replication.
    
    Analysis:
    =========
    --slave_skip_error is not ignored in case of row based
    replication. BUG#39393 has already addressed this issue.
    But there are two special cases which doesn't honor
    slave_skip_error.
    
    1. When opening and locking a table fails, it was considered
    as a critical error and it was not honoring through
    slave_skip_error.
    
    2. When field conversions fail on slave side in row based
    replication this too was handled as said above.
    
    Since slave_skip_error is meant to skip all the errors that
    are reported during application of an event hence we should
    remove this restriction.
    
    Fix:
    ===
    The above restriction is removed now. Post fix, upon
    receiving an error from underlying layer, first it checks
    whether the error can be ignored or not. If it has to be
    ignored and log_warnings > 1, then a warning is printed into
    the error log and server continues as it does in the case of
    other ignored errors.
Loading