| Bug #26898 | Alter table to empty merge from ndb causes mysqld to crash | ||
|---|---|---|---|
| Submitted: | 7 Mar 2007 6:02 | Modified: | 10 Apr 2007 5:53 |
| Reporter: | Monty Taylor | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
| Version: | 5.1.15, 5.0.38 | OS: | Linux (linux) |
| Assigned to: | justin he | CPU Architecture: | Any |
[12 Mar 2007 10:36]
Hartmut Holzgraefe
verified, attaching standalone testcase
[12 Mar 2007 10:36]
Hartmut Holzgraefe
mysqltest test case
Attachment: bug26898.tgz (application/x-gtar, text), 700 bytes.
[20 Mar 2007 4:27]
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/22322 ChangeSet@1.2486, 2007-03-20 12:21:01+08:00, Justin.He@dev3-240.dev.cn.tlan +1 -0 Bug#26898, Alter table to empty merge from ndb causes mysqld to crash
[28 Mar 2007 2:39]
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/23095 ChangeSet@1.2486, 2007-03-28 10:32:06+08:00, Justin.He@dev3-240.dev.cn.tlan +1 -0 Bug#26898, Alter table to empty merge from ndb causes mysqld to crash
[7 Apr 2007 7:01]
Bugs System
Pushed into 5.1.18-beta
[10 Apr 2007 5:53]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.
If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at
http://dev.mysql.com/doc/en/installing-source.html
Documented fix in 5.1.18 changelog.

Description: In trying to write a script to cycle old data out of ndb, I discovered that you can't alter an ndbcluster table directly to merge that doesn't contain tables without crashing mysqld. How to repeat: root:TEST_DB_1> show create table MYTABLENAME\G *************************** 1. row *************************** Table: MYTABLENAME Create Table: CREATE TABLE `MYTABLENAME` ( `ATTR1` int(10) unsigned NOT NULL DEFAULT '0', `ATTR2` int(10) unsigned NOT NULL, PRIMARY KEY (`ATTR1`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 1 row in set (0.00 sec) root:TEST_DB_1> alter table MYTABLENAME engine=merge; ERROR 2013 (HY000): Lost connection to MySQL server during query root:TEST_DB_1> show create table MYTABLENAME\G ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 2 Current database: TEST_DB_1 *************************** 1. row *************************** Table: MYTABLENAME Create Table: CREATE TABLE `MYTABLENAME` ( `ATTR1` int(10) unsigned NOT NULL DEFAULT '0', `ATTR2` int(10) unsigned NOT NULL, PRIMARY KEY (`ATTR1`) ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=() 1 row in set (0.00 sec) root:TEST_DB_1> alter table MYTABLENAME engine=ndbcluster; Query OK, 0 rows affected (2.08 sec) Records: 0 Duplicates: 0 Warnings: 0 root:TEST_DB_1> alter table MYTABLENAME engine=myisam; Query OK, 0 rows affected (0.57 sec) Records: 0 Duplicates: 0 Warnings: 0 root:TEST_DB_1> alter table MYTABLENAME engine=merge; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Suggested fix: I'm guessing not having mysqld crash.