Bug #45525 Unable to create table with more that 16 indexes
Submitted: 16 Jun 2009 11:58 Modified: 24 Jun 2009 9:31
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-7.0 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[16 Jun 2009 11:58] Jonas Oreland
Description:
Since 7.0, tables and related indexes are created atomically using the
new schema-transaction feature.

This however mean that a number of memory pools was too small...
so not all tables could be created.

work-around:
1) create table wo/ indexes
   and do "create index" for each index.

2) then to drop you need to:
   drop index for each index;
   drop table;

How to repeat:
create table with 64 indexes
[16 Jun 2009 12: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/commits/76383

2939 Jonas Oreland	2009-06-16
      ndb - bug#45525
        unable to create table with 64 indexes due to insufficient size of schema-op-pool
        (since they're now created in a schema trans together with table)
[16 Jun 2009 12:37] Bugs System
Pushed into 5.1.35-ndb-7.0.7 (revid:jonas@mysql.com-20090616121958-lh3pehl6z3izmfgf) (version source revid:jonas@mysql.com-20090616121958-lh3pehl6z3izmfgf) (merge vers: 5.1.35-ndb-7.0.7) (pib:6)
[24 Jun 2009 9:31] Jon Stephens
Documented in the NDB-7.0.7 changelog as follows:

        Due to changes in the way that NDBCLUSTER handles schema changes
        (implementation of schema transactions) in MySQL Cluster NDB 7.0, 
        it was not possible to create MySQL Cluster tables having more than 
        16 indexes using a single CREATE TABLE statement.

        This issue occurs only in MySQL Cluster NDB 7.0 releases prior
        to 7.0.7 (including releases numbered NDB 6.4.x).

        If you are not yet able to upgrade from an earlier MySQL Cluster
        NDB 7.0 release, you can work around this problem by creating
        the table without any indexes, then adding the indexes using a
        separate CREATE INDEX statement for each index.