Bug #25770 | error when using binlog from circ replicaiotn | ||
---|---|---|---|
Submitted: | 23 Jan 2007 8:36 | Modified: | 29 Mar 2007 6:48 |
Reporter: | Tomas Ulin | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Row Based Replication ( RBR ) | Severity: | S1 (Critical) |
Version: | 5.1 | OS: | |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[23 Jan 2007 8:36]
Tomas Ulin
[23 Jan 2007 8:37]
Tomas Ulin
master-bin.00001
Attachment: master-bin.000001 (application/octet-stream, text), 818 bytes.
[10 Mar 2007 17:42]
Andrei Elkin
The reason of the bug is that the trailing row event of the transaction group got denied since it was originated by the slave itself. However the table level lock was made for that event at the first event execution. Hence, the trailing event's reseting work that involves table unlock should be performed even though the event is rejected.
[12 Mar 2007 15:59]
Lars Thalmann
REFINED PROBLEM DESCRIPTION --------------------------- When using circular (row-based) replication between clusters A <--> B, is can happen that B receives the events: row (from A) row (from B itself) commit The problem is the that the second event does some cleanup and when it is ignored (due to same server id), the clean up does not happen. SOLUTION -------- Fix so that even though the second row is ignored the cleanup is done anyway. (Note that since NDB sends rows from multiple "real" transactions in its replicated "epoch" transaction, parts of the epoch transaction must be ignored in the slave when those parts of the epoch transaction where actually created by the slave itself.)
[29 Mar 2007 6:48]
Andrei Elkin
the parent is Bug#25688.