MySQL Forums
Forum List  »  NDB clusters

Re: Error 1064 Duplicate entry 'ndbcluster-96' for key 'tables.engine'
Posted by: Duarte Patricio
Date: January 19, 2024 07:07AM

Hello Tony,

As Magnus mentioned, that duplicate entry problem with <engine>-<table_id> clash on MySQL data dictionary was fixed on 8.0.33.

Now, you mentioned you're already running 8.0.33, so maybe there is something strange happening. More on that below, answering your latest question.

First, before any upgrade whatsoever, you should backup your DB (through the NDB tooling). You should also test the restore of that backup on a staging (or dev) environment with the new version, so that you can see if there is some error. That is to answer question (2).

(1) system schema tables should not be written.
(3) Better wait for NDB nodes 8.0.35 to be available, but still proceed with a staging environment running a backup of all table definitions and data.
(4) Yes, table data (and definition) is not fixed to specific versions with such close version numbers.

In order to check what is happening, it would be good if you provided what happens in the logs when you try to install the table.
There should be messages like:
- "Cached se_private_id different than ndb_table_id. Removing ndbcluster-<id> table definition if exists"
- "Failed to remove ndbcluster-<id> from DD"
- "Failed to install table 'schema.table_name'"

Also, you can check what is the table occupying that slot (96) with:
```
select * from ndbinfo.dictionary_tables where table_id = 96\G;
```
(https://dev.mysql.com/doc/mysql-cluster-excerpt/8.0/en/mysql-cluster-ndbinfo-dictionary-tables.html)

Options: ReplyQuote




Sorry, only registered users may post in this forum.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.