• Alfranio Correia's avatar
    BUG#46130 Slave does not correctly handle "expected errors" · 78585a25
    Alfranio Correia authored
    In STATEMENT based replication, a statement that failed on the master but that
    updated non-transactional tables is written to binary log with the error code
    appended to it. On the slave, the statement is executed and the same error is
    expected. However, when an "expected error" did not happen on the slave and was
    either ignored or was related to a concurrency issue on the master, the slave
    did not rollback the effects of the statement and as such inconsistencies might
    happen.
    
    To fix the problem, we automatically rollback a statement that should have
    failed on a slave but succeded and whose expected failure is either ignored or
    stems from a concurrency issue on the master.
    78585a25
rpl_concurrency_error.test 4.16 KB