Ao tentar excluir uma tabela do NDB Cluster, recebo o erro “4243: Index not found”

2

Em um cluster NDB baseado em Linux, que consiste em 7 nós de API, 1 nó Management e 4 nós NDB, estou tentando descartar uma tabela.

Quando tento derrubar a tabela usando o MySQL Client, recebo o seguinte erro:

mysql> drop table table_name;
ERROR 1051 (42S02): Unknown table 'database_name.table_name'

Eu deveria ser capaz de derrubar tabelas em um NDB Cluster usando o MySQL Client, mas depois de uma pequena pesquisa no Google eu descobri que eu também poderia usar a ferramenta ndb_drop_table.

Eu então obtive os seguintes resultados:

./ndb_drop_table --ndb-nodeid=13 --ndb-mgmd-host=xx.xx.xx.xx:1186 table_name -d database_name
Dropping table table_name...
4243: Index not found

NDBT_ProgramExit: 1 - Failed

Procurando por este erro, obtive exatamente um resultado (sem resposta): link

Como último recurso, tentei excluir todo o banco de dados, mas esse comando internamente baixa todas as tabelas primeiro, portanto, obtive os mesmos resultados:

mysql> drop database database_name;
ERROR 1051 (42S02): Unknown table 'database_name.table_name'

Por favor, informe sobre como excluir esta tabela.

    
por Luc van Donkersgoed 02.08.2013 / 11:01

1 resposta

0

Após alguns dias de pesquisa, descobri que o problema foi causado por uma incompatibilidade de versão do MySQL. Nós criamos recentemente os novos nós da API e instalamos a última versão do MySQL (5.6.11-ndb-7.3.2).

Os resultados descritos na pergunta original ocorreram ao tentar deletar a tabela (armazenada nos nodos do NDB rodando o MySQL 5.5.27-ndb-7.2.8) de um desses novos servidores.

A tabela pode ser excluída sem problemas de um host mais antigo, também executando o MySQL 5.5.27-ndb-7.2.8. Depois de fazer o downgrade dos novos nós da API para o MySQL 5.5.31-ndb-7.2.13, esses hosts não causaram mais problemas.

Espero que esta resposta possa ajudar alguém no futuro.

    
por 06.08.2013 / 20:27