• Andrei Elkin's avatar
    Bug #40221 Replication failure on RBR + UPDATE the primary key · 40889f9e
    Andrei Elkin authored
    A transaction could result in having an extra event after a query that
    errored e.g because of a dup key. Such a query is rolled back in
    innodb, as specified, but has not been in binlog.
    It appeares that the binlog engine did not always register for a query
    (statement) because the previous query had not reset at its statement
    commit time. Because of that fact there was no roll-back to the
    trx_data->before_stmt_pos position and a the pending event of the
    errorred query could become flushed to the binlog file.
    
    Fixed with deploying the reset of trx_data->before_stmt_pos at the end
    of the query processing.
    40889f9e
binlog_innodb_row.test 681 Bytes