Bug #571 slave does not print any error when LOAD DATA INFILE should give "duplic entry"
Submitted: 2 Jun 2003 15:13 Modified: 3 Jul 2003 5:25
Reporter: Guilhem Bichot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:4.0 OS:Any (all)
Assigned to: Guilhem Bichot CPU Architecture:Any

[2 Jun 2003 15:13] Guilhem Bichot
Description:
I could not make the slave produce such an error, which is abnormal.

How to repeat:
on master:
create table t(a int, b int);
on slave:
start slave; insert into t values(1,2); alter table t add unique(a);
on master: have a file with "1 3" in it and do
load data infile 'file' into table t etc;

The table on the slave still contains (1,2) and the slave does not print
any error! (Using an INSERT instead of LOAD produces an error). Everything is like if the LOAD was executed as LOAD IGNORE.
The code shows this indeed, but I cannot understand the reason why this is done this way ??? To me, if LOAD with neither IGNORE nor REPLACE was used on the master, it should be the same on the slave.
This is not an issue when replication is running fine. It is when the data between master and slave has become accidentally different and we don't catch it in LOAD DATA INFILEs.
[1 Jul 2003 6:46] Guilhem Bichot
I accidentally pushed the fix (ChangeSet@1.1498.1.19) without waiting for the approval (bk + Guilhem...). So it's still "Patch pending" and waiting for approval.
[3 Jul 2003 5:25] Michael Widenius
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at 
    http://www.mysql.com/doc/en/Installing_source_tree.html

Will be fixed in 4.0.14