Bug #1997 | LOAD DATA LOCAL is suspected to not be thread-safe | ||
---|---|---|---|
Submitted: | 2 Dec 2003 15:38 | Modified: | 3 Dec 2003 13:06 |
Reporter: | Dossy Shiobara | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 3.23.57 | OS: | Solaris (Solaris 2.8) |
Assigned to: | Dean Ellis | CPU Architecture: | Any |
[2 Dec 2003 15:38]
Dossy Shiobara
[3 Dec 2003 12:06]
Dean Ellis
I am unable to duplicate this using 3.23.58 or 4.0.17; so long as the program is written correctly LOAD DATA LOCAL does not appear to corrupt anything (whether the threads share a connection or create their own). If you do find the time to submit a minimal test case we could try, I would be happy to test this again. Thank you
[3 Dec 2003 12:50]
Dossy Shiobara
Is there any chance you could test using 3.23.57? I'll try to test with 3.23.58 if I can. Doubt this was a bug that was silently fixed between those releases, though. I'm kind of irked by your comment regarding "if it's written correctly" -- the code works 100% fine for production query traffic where the DB connections are pooled in the multi-threaded app. for "normal" SQL DML/DDL (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, CREATE INDEX). I'm going to test with a plain "LOAD DATA" with the file on the server and see if it crashes, but it *definitely* crashes when doing a "LOAD DATA LOCAL". I'll try to come up with a minimal reproducible test case, but I was hoping this would be enough information for the multi-threaded gurus to go "oh yeah, LOAD DATA LOCAL reads data from a file on the client host into memory in a non-threadsafe way before it pushes the data up to the server ... oops." -- Dossy
[3 Dec 2003 13:06]
Dean Ellis
My "if it's written correctly" comment meant only that unless I did something (intentionally) wrong, my test had no problems with LOAD DATA LOCAL. I can test against 3.23.57, yes, but having a test case which absolutely crashes for you would help tremendously, as there may be a simple matter of something you are doing which I was not testing. Thank you