Bug #13264 Need direct writing of non-trx rows to binlog
Submitted: 16 Sep 2005 13:14 Modified: 21 Oct 2005 11:11
Reporter: Lars Thalmann Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S1 (Critical)
Version:5.0-wl1012 OS:Any (ALL)
Assigned to: Mats Kindahl CPU Architecture:Any

[16 Sep 2005 13:14] Lars Thalmann
Description:
In the current implementation, MyISAM rows are not written to binlog
after statement execution, but rather at a later time.

When using MyISAM or any other non-transactional SE (with or without
auto-commit), rows that are inserted need to be flushed to binlog at
the time the statement has finished execution (flushing instead of
writing the statement to the binary log).

How to repeat:
rpl_user_variables

Suggested fix:
Each time the statement is finished, make sure that the row cache is 
written to binlog.
[24 Sep 2005 10:35] Guilhem Bichot
Marking it as P1 as this is the sign of many potential race conditions (binlog events which will be in wrong order) in concurrent environments (because flushing at end of statement is too late: tables have already been unlocked in some cases). This bug should absolutely be fixed before we push into 5.0.
[24 Sep 2005 10:41] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/30299