Bug #8928 create table with keys will shutdown the cluster
Submitted: 3 Mar 2005 17:47 Modified: 26 May 2005 10:04
Reporter: Hongyi Gao Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:4.1.8 OS:Linux (Gentoo Linux 2.6.10 SMP)
Assigned to: Pekka Nousiainen CPU Architecture:Any

[3 Mar 2005 17:47] Hongyi Gao
Description:
OS: Gentoo Linux 2.6.10 SMP
Machine: DELL power EDGE 1750, 2G Memory, 2 CPU 2.8G Xeron

Cluster:

2 SQL nodes: 
id 1: MGM&SQL node, id 2: SQL node

6 NDB nodes: 
id 3: NDB node id 4: NDB node id 5: NDB node id 6: NDB node id 7: NDB node id 8: NDB node

when you create table with key definition, you will get this error:

ERROR 1005 (HY000): Can't create table './xxx/temp.frm' (errno: 4009)

How to repeat:
when every machine is up, in the database, run:
create table temp (t integer, key(t)) engine=ndbcluster;

you get:
ERROR 1005 (HY000): Can't create table './xxx/temp.frm' (errno: 4009)

This only happens with 6 NDB nodes cluster.
Tried with 4 NDB nodes cluster, it works fine, No such error.

I guess we will have to stay with 2, 4, 8, 16 ... NDB nodes.

Suggested fix:
Easy fix:
Put a note somewhere with mySQL cluster limitations/FAQs, says "only works with 2,4,8,16... NDB nodes."

Formal fix:
kick the programmer who did the table key part.  :)
[3 Mar 2005 18:03] Hongyi Gao
the command:
qpkg -I -v mysql

gives us the version:
dev-db/mysql-4.1.8-r1 *
dev-perl/DBD-mysql-2.9004 *
[4 Mar 2005 10:38] Tomas Ulin
There should be no restictions to 2,4,8 nodes.

6 nodes should be fine.

Investigating...
[4 Mar 2005 10:52] Tomas Ulin
I can't repeat the problem in 4.1.10

can you upgrade and see if you still have the problem?
[14 Apr 2005 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[6 May 2005 10:36] Anton Aleksandrov
I have setup MySQL cluster with 6 data nodes and I do get this error! I am using MySQL-Max 4.1.11. Can you please confirm, that I have to either add more 2 data nodes or take 2 of them off?
[6 May 2005 12:19] Pekka Nousiainen
Verified with 6 nodes, 2 replicas in latest 4.1.x source (pre 4.1.12).
[7 May 2005 9:13] 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/internals/24657
[7 May 2005 12:45] Pekka Nousiainen
The patch does not affect databases with 1,2,4,8,.. (2^n) nodes.
After the patch (4.1.12), other databases  can be upgraded
without losing data in 2 ways:

- rolling upgrade: restart one node at a time with --initial option
  note: ndb_mgm xx restart does _not_ run the new ndbd, so do it manually
- backup/restore

Restart of all nodes from disk will _not_ work.
[9 May 2005 2:35] Paul DuBois
Noted in Cluster 4.1.12 changelog.
[26 May 2005 2:03] Jeff Pierce
I am still having this problem as of MySQL release 4.1.12.

I have 3 nodes, each with NDBD and MYSQLD running.  Currently, I only have three significant databases running in the cluster.  Only one contains more than 70,000 rows combined.

I'm thinking perhaps this has something to do with database size constraints?

My exact error is: ERROR 1005 (HY000): Can't create table './dbname/tblAddress.frm' (errno: 708)

Any help would be appreciated.
[26 May 2005 10:04] Pekka Nousiainen
Not related to this bug.

% perror --ndb 708 =>
No more attribute metadata records (increase MaxNoOfAttributes)...
[15 Jul 2005 14:33] 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/internals/27174