Bug #20887 INSERT DELAYED is not logged write-behind to binary log
Submitted: 6 Jul 2006 11:44 Modified: 22 Oct 2006 20:11
Reporter: Mats Kindahl Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:4.1 and up OS:Any (ALL)
Assigned to: Assigned Account CPU Architecture:Any

[6 Jul 2006 11:44] Mats Kindahl
Description:
All other statements are logged to the binary log after they have been executed, but for INSERT DELAYED, the statement is written before any rows are written to a table. This is not in line with how binary logging is done in MySQL.

How to repeat:
Read the code

Suggested fix:
Do not write a delayed insert until after all rows have been written.
[6 Jul 2006 12:13] Lars Thalmann
The effect of this bug is that if the master crashes in the middle of 
executing an INSERT DELAYED, the statement can be logged even though 
it has not been fully executed on the master.
[6 Jul 2006 12:31] Guilhem Bichot
But inversing operations will be consistent with the rest, but imply that if the master crashes after updating the table but before writing the binlog, the binlog will be wrong as well.
[22 Oct 2006 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".