Bug #29238 | INSERT DELAYED is suspended when table is full, no error reporting. | ||
---|---|---|---|
Submitted: | 20 Jun 2007 13:52 | Modified: | 20 Jun 2007 16:31 |
Reporter: | Alexander Golovnyov | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: General | Severity: | S1 (Critical) |
Version: | 5.041 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[20 Jun 2007 13:52]
Alexander Golovnyov
[20 Jun 2007 16:31]
Sveta Smirnova
Thank you for the report. Please read carefully about how INSERT DELAYED works at http://dev.mysql.com/doc/refman/5.0/en/insert-delayed.html: "When a client uses INSERT DELAYED, it gets an okay from the server at once, and the row is queued to be inserted when the table is not in use by any other thread."
[21 Jun 2007 14:50]
Pavel Pushkarev
I think the problem was that actually the MyISAM table runs out of pointer space, so there will never be an actual insert: ALTER TABLE is required to extend the pointer size, but DDL will rollback the pending INSERT DELAYED.
[21 Jun 2007 15:01]
Grigory Rubtsov
Does the bug is to be reopened according to the Pavel's comment?
[26 Jun 2007 11:12]
Sergei Golubchik
No. No matter what is the reason for INSERT DELAYED to fail, it still cannot report an error. By design it works asynchronously, it simply has no way of returning an error. If it fails it does it silently.