Bug #47459 | Assertion in Diagnostics_area::set_eof_status on OPTIMIZE TABLE | ||
---|---|---|---|
Submitted: | 20 Sep 2009 12:12 | Modified: | 12 May 2010 1:30 |
Reporter: | Philip Stoev | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: DDL | Severity: | S3 (Non-critical) |
Version: | 5.1,5.4 | OS: | Any |
Assigned to: | Jon Olav Hauglid | CPU Architecture: | Any |
[20 Sep 2009 12:12]
Philip Stoev
[18 Jan 2010 21:27]
Mattias Jonsson
This is not a partitioning problem, this is some kind of race in mysql_admin_table and mysql_create_table. Changed the synopsis from Assertion in Diagnostics_area::set_eof_status on OPTIMIZE PARTITION to Assertion in Diagnostics_area::set_eof_status on OPTIMIZE TABLE Repeatable with this rqg grammar (I did not get it to crash with MyISAM): query: CREATE TABLE t ( `int_nokey` INTEGER, `int_key` INTEGER NOT NULL, KEY (`int_key`) ) ENGINE = INNODB | DROP TABLE IF EXISTS t | OPTIMIZE TABLE t; De-assigning myself.
[15 Apr 2010 16:54]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/105762 3003 Jon Olav Hauglid 2010-04-15 Bug #47459 Assertion in Diagnostics_area::set_eof_status on OPTIMIZE TABLE This assertion could be triggered during execution of OPTIMIZE TABLE for InnoDB tables. As part of optimize for InnoDB tables, the table is recreated and then opened again. If the reopen failed for any reason, the assertion would be triggered. This could for example be caused by a concurrent DROP TABLE executed by a different connection. The reason for the assertion was that any failures during reopening were ignored. This patch fixes the problem by making sure that the result of reopening the table is checked and that any error messages are sent to the client. Test case added to innodb_mysql_sync.test.
[19 Apr 2010 6:23]
Jon Olav Hauglid
Pushed to mysql-trunk-runtime (Ver 5.5.4-m3).
[27 Apr 2010 9:46]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100427094135-5s49ecp3ckson6e2) (version source revid:alik@sun.com-20100427093843-uekr85qkd7orx12t) (merge vers: 6.0.14-alpha) (pib:16)
[27 Apr 2010 9:48]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100427093804-a2k3rrjpwu5jegu8) (version source revid:alik@sun.com-20100427093804-a2k3rrjpwu5jegu8) (merge vers: 5.5.5-m3) (pib:16)
[27 Apr 2010 9:51]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100427094036-38frbg3famdlvjup) (version source revid:alik@sun.com-20100427093825-92wc8b22d4yg34ju) (pib:16)
[12 May 2010 1:30]
Paul DuBois
Note in 5.5.5, 6.0.14 changelogs. OPTIMIZE TABLE for an InnoDB table could raise an assertion if another session issued a concurrent DROP TABLE.