0

When I try to create a table in NDB Cluster 7.3.5 with disk storage, I get following error:

Got error 851 'Maximum 8052 bytes of FIXED columns supported, use varchar or COLUMN_FORMAT DYNAMIC instead' from NDBCLUSTER

The DDL for table is as given below:

DROP TABLE IF EXISTS `temp_audit_table`;
CREATE TABLE `temp_audit_table` (
    `id` INT(7) NOT NULL,
    `transaction_id` INT(7) NULL DEFAULT NULL,
    `action_time` DATETIME NULL DEFAULT NULL,
    `logged_in_user` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `action` VARCHAR(20) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `entity_type` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `entity_index` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `item_changed` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `description` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `old_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `new_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
    `group_id` INT(11) NULL DEFAULT NULL,
    `user_id` INT(11) NULL DEFAULT NULL,
    `modified_user` VARCHAR(30) NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
STORAGE DISK TABLESPACE hhmefep_tbs ENGINE = ndbcluster;

I have one doubt regarding above DDL,

when I specify only "ENGINE = ndbcluster;" rather than all long description of tablespace etc. the table gets created and also displayed in 2 mysql cluster nodes (which means replicated).

So what happens in this case ..?

1) Is the whole table stored in memory ?

2) Is it mandatory to specify storage DISK in DDL ?

Guys please help..

Patel Parimal
  • 207
  • 2
  • 14
  • 1
    Does it help if you decrease the length of `old_value` and `new_value` to `3000`? – Gábor Bakos Jun 17 '14 at 09:06
  • yes,it also worked for `old_value` and `new_value` to `3500`. This is good workaround for now. [MySQL Ref Guide](http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-limitations-database-objects.html) mentions that `The maximum permitted size of any one row is 14000 bytes (as of MySQL Cluster NDB 7.0)` and I am using NDB Cluster 7.3.5. What's the catch ? @GáborBakos can you help me on this ? – Patel Parimal Jun 17 '14 at 09:18
  • sorry, I just suspect that you are using an older version of NDB Cluster, but it seems you are confident you are not. Probably you switched accidentally to some kind of compatibility mode? (Was there an upgrade? Or this is a fresh install?) – Gábor Bakos Jun 17 '14 at 09:32
  • This is a fresh install of mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz. Is there any way to check if cluster is running in compatibility mode ? – Patel Parimal Jun 17 '14 at 09:52
  • Sorry, I am not an expert in mysql clusters. Have you started with the `ndbmtd` (http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-programs-ndbmtd.html) command? Or with the `ndbd`? It seems for 7.0 and above the former should be used, probably running the latter might cause some compatibility mode. (I guess you can check with `top` or `ps aux`.) – Gábor Bakos Jun 17 '14 at 10:44
  • Yes, I am running cluster with ndbmtd. I am also newbie in Clustering :). – Patel Parimal Jun 17 '14 at 13:22

0 Answers0