ERROR 1005 (HY000): Can't create table
Hi,
We are running mysql-cluster-community-common-8.0.20-1.el7.x86_64 on Oracle Linux 7u7.
We are encountering a situation where after a certain number of tables are created we get this error:
mysql> CREATE TABLE policy_statements (
-> id VARCHAR(255) NOT NULL,
-> `policyId` VARCHAR(255),
-> `condition` TEXT,
-> verb VARCHAR(10),
-> `resourceType` VARCHAR(64),
-> `compartmentId` VARCHAR(255),
-> `compartmentRefType` ENUM('ID','NAME'),
-> `allowAnyGroup` BOOL DEFAULT '0',
-> PRIMARY KEY (id),
-> FOREIGN KEY(`policyId`) REFERENCES policies (id) ON DELETE CASCADE,
-> FOREIGN KEY(`compartmentId`) REFERENCES compartments (id) ON DELETE SET NULL,
-> CHECK (`allowAnyGroup` IN (0, 1))
-> );
ERROR 1005 (HY000): Can't create table 'policy_statements'
We get the same error even trying to create the simplest table in this database or in another database:
mysql> CREATE TABLE fred ( id VARCHAR(255) );
ERROR 1005 (HY000): Can't create table 'fred'
I don't get any more information from the show engine status command:
mysql> SHOW ENGINE NDBCLUSTER STATUS;
+---------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Type | Name | Status |
+---------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ndbclus | connection | cluster_node_id=33, connected_host=pcamn01, connected_port=1186, number_of_data_nodes=3, number_of_ready_data_nodes=3, connect_count=0 |
| ndbclus | NdbTransaction | created=3, free=1, sizeof=392 |
| ndbclus | NdbOperation | created=1, free=1, sizeof=944 |
| ndbclus | NdbIndexScanOperation | created=0, free=0, sizeof=1152 |
| ndbclus | NdbIndexOperation | created=0, free=0, sizeof=952 |
| ndbclus | NdbRecAttr | created=6, free=6, sizeof=88 |
| ndbclus | NdbApiSignal | created=7, free=7, sizeof=144 |
| ndbclus | NdbLabel | created=0, free=0, sizeof=200 |
| ndbclus | NdbBranch | created=0, free=0, sizeof=32 |
| ndbclus | NdbSubroutine | created=0, free=0, sizeof=72 |
| ndbclus | NdbCall | created=0, free=0, sizeof=24 |
| ndbclus | NdbBlob | created=0, free=0, sizeof=496 |
| ndbclus | NdbReceiver | created=3, free=3, sizeof=128 |
| ndbclus | NdbLockHandle | created=0, free=0, sizeof=48 |
| ndbclus | binlog | latest_epoch=51273319579654, latest_trans_epoch=51264729645066, latest_received_binlog_epoch=0, latest_handled_binlog_epoch=51251844743177, latest_applied_binlog_epoch=0 |
+---------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
15 rows in set (0.01 sec)
If I drop the database that the table create is failing in, I can then create my simple "fred" table in another database.
This all works if the storage engine is innodb... so it feels like there's some ndb resource that we're exhausting.
Any ideas how to narrow this down?
We are planning to upgrade to 8.0.22 but I'm thinking this is perhaps an ndb resource issue.
Thank you!
Pete Ditmars