Skip to content
  • Sujatha Sivakumar's avatar
    b127c273
    Bug#20797764: FAILED CREATE VIEW IS BINLOGGED, AND NOT · b127c273
    Sujatha Sivakumar authored
    FILTERED OUT
    
    Problem:
    ========
    Replication slave choke on statement that should be ignored
    instead.
    
    Analysis:
    ========
    There are two problems in the above mentioned bug.
    1) Failed CREATE VIEW statement is written to the binary log
    2) When a statement which has failed on master is received
    on slave with an expected error and if the statement is
    skipped on slave due to replication filter we still try to
    compare the expected error with actual error that happened
    on slave. Which is incorrect.
    
    Fix:
    ===
    For the first problem since CREATE VIEW statement cannot
    result in partial view creation, it should not be binlogged
    if the view creation fails. We check for the return status
    of view creation and avoid writing to binlog on error.
    
    For the second problem if a statement with expected error is
    received on slave and only if the statement is not filtered
    then only compare it with actual error that happened on
    slave.
    b127c273
    Bug#20797764: FAILED CREATE VIEW IS BINLOGGED, AND NOT
    Sujatha Sivakumar authored
    FILTERED OUT
    
    Problem:
    ========
    Replication slave choke on statement that should be ignored
    instead.
    
    Analysis:
    ========
    There are two problems in the above mentioned bug.
    1) Failed CREATE VIEW statement is written to the binary log
    2) When a statement which has failed on master is received
    on slave with an expected error and if the statement is
    skipped on slave due to replication filter we still try to
    compare the expected error with actual error that happened
    on slave. Which is incorrect.
    
    Fix:
    ===
    For the first problem since CREATE VIEW statement cannot
    result in partial view creation, it should not be binlogged
    if the view creation fails. We check for the return status
    of view creation and avoid writing to binlog on error.
    
    For the second problem if a statement with expected error is
    received on slave and only if the statement is not filtered
    then only compare it with actual error that happened on
    slave.
Loading