Lista os códigos de erro comuns do PolarDB-X, com descrições, exemplos e soluções.
TDDL-1305 ERR_UNKNOWN_SAVEPOINT
Descrição: O savepoint especificado não existe.
Exemplo:
ERR-CODE: [TDDL-1305][ERR_UNKNOWN_SAVEPOINT] SAVEPOINT ***** does not exist-
No PolarDB-X, esse erro ocorre ao executar a instrução
ROLLBACK TO SAVEPOINTouRELEASE SAVEPOINTpara um savepoint inexistente.Certifique-se de que o nome do savepoint utilizado corresponda exatamente ao retornado pela instrução de criação do savepoint.
TDDL-1094 ERR_UNKNOWN_THREAD_ID
Descrição: O ID de sessão especificado no comando KILL não existe.
Exemplo:
ERR-CODE: [TDDL-1094][ERR_UNKNOWN_THREAD_ID] Unknown thread id: *****-
Explicação: Esse erro surge quando você executa o comando
KILLno PolarDB-X para encerrar uma instrução SQL, mas o ID de sessão informado não existe ou a instrução SQL já foi concluída.Execute
SHOW PROCESSLISTpara obter o ID de sessão da instrução SQL em execução e use oKILLapenas em um ID retornado por esse comando.
TDDL-4006 ERR_TABLE_NOT_EXIST
Descrição: A tabela de dados do PolarDB-X não existe.
Exemplo:
ERR-CODE: [TDDL-4006][ERR_TABLE_NOT_EXIST] Table '*****' doesn't exist.Observação: Este código de erro indica que a tabela de dados do PolarDB-X não existe ou que, por motivos desconhecidos, o PolarDB-X não consegue carregar os metadados da tabela.
TDDL-4007 ERR_CANNOT_FETCH_TABLE_META
Descrição: Este erro ocorre quando o PolarDB-X falha ao carregar os metadados da tabela.
Exemplo:
ERR-CODE: [TDDL-4007][ERR_CANNOT_FETCH_TABLE_META] Table '*****' metadata cannot be fetched because Table '*****.*****' doesn't exist.-
Explicação: Esta falha acontece quando o PolarDB-X não consegue ler os metadados da tabela. As possíveis causas incluem:
A tabela não foi criada.
Inconsistência nos metadados do banco de dados de metadados.
A tabela foi excluída ou renomeada.
Se esse erro ocorrer, verifique primeiro se a tabela existe. Como alternativa, execute o comando
CHECK TABLEpara validar a consistência do banco de dados de metadados do PolarDB-X. Caso a tabela tenha sido excluída ou renomeada manualmente, utilize o recurso de recuperação de dados do PolarDB-X. Se o problema persistir, entre em contato com o suporte técnico.
TDDL-4018 ERR_INVALID_DDL_PARAMS
Descrição: O PolarDB-X falhou ao executar uma operação DDL.
Exemplo:
ERR-CODE: [TDDL-4018][ERR_INVALID_DDL_PARAMS] invalid '*****'.Explicação: Este erro surge quando uma instrução DDL contém um parâmetro inválido. Verifique se todos os parâmetros estão corretos. Se o erro persistir, entre em contato com o suporte técnico.
TDDL-4100 ERR_ATOM_NOT_AVALILABLE
Descrição: Um nó de dados de back-end do PolarDB-X está temporariamente indisponível.
Exemplo:
ERR-CODE: [TDDL-4100][ERR_ATOM_NOT_AVALILABLE] Atom : ***** isNotAvailable-
Observação: Se o PolarDB-X detectar uma anomalia em um nó de dados de back-end, ele bloqueará temporariamente o acesso à instância e retornará este erro.
Ao encontrar esse erro, verifique o status de todos os nós de dados de back-end do PolarDB-X. Quando um nó de dados se recuperar, o PolarDB-X restaurará automaticamente sua disponibilidade, permitindo que as aplicações retomem o acesso normal.
TDDL-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON
Descrição: Um nó de computação do PolarDB-X não consegue se conectar a um nó de dados.
Exemplo:
ERR-CODE: [TDDL-4101][ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON] Get connection for db '*****' from pool failed. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 0, maxActive 5. You should look for the following logs which contains the real reason.-
Observação: Durante o processamento de uma solicitação, o PolarDB-X cria assincronamente uma conexão com um nó de dados. Se a conexão não for estabelecida dentro do período de tempo limite e a tarefa assíncrona não retornar um erro específico, o PolarDB-X retorna o erro TDDL-4101 para a aplicação.
Geralmente, uma exceção em um nó de dados de back-end causa esse erro. Se o erro persistir após a solução de problemas nos nós de dados, entre em contato com o suporte técnico.
TDDL-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON
Descrição: Falha ao obter uma conexão de back-end no PolarDB-X devido a um motivo conhecido.
Exemplo:
ERR-CODE: [TDDL-4102][ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON] Get connection for db '*****' failed because wait millis 5000, active 0, maxActive 5-
Observação: Um nó de computação do PolarDB-X falhou ao obter uma conexão com um nó de dados. O motivo da falha é fornecido na mensagem ERR-CODE. Os motivos mais comuns para falhas de conexão com um nó de dados do PolarDB-X são:
O nó de dados de back-end atingiu seu número máximo de conexões.
A conexão do nó de computação com o nó de dados expirou.
O nó de dados recusou a conexão.
Se o erro persistir após descartar problemas no nó de dados de back-end, entre em contato com o suporte técnico.
TDDL-4103 ERR_ATOM_CONNECTION_POOL_FULL
Descrição: O pool de conexões de um nó de dados de back-end do PolarDB-X está cheio.
Exemplo:
ERR-CODE: [TDDL-4103][ERR_ATOM_CONNECTION_POOL_FULL] Pool of DB '*****' is full. Message from pool: wait millis 5000, active 5, maxActive 5. AppName:*****, Env:*****, UnitName:null.-
Explicação: Este erro ocorre quando o pool de conexões de back-end do PolarDB-X atinge sua capacidade máxima. As causas comuns incluem:
Instruções SQL lentas da aplicação mantêm conexões abertas por períodos prolongados, causando escassez de conexões disponíveis.
Vazamento de conexões devido ao fechamento inadequado das conexões com o banco de dados pela aplicação.
Muitas consultas simultâneas entre bancos de dados, como consultas de agregação ou consultas sem condição de chave de shard, consomem muitas conexões.
Para resolver esse problema, tente as seguintes soluções:
Utilize um framework, como Spring JDBC ou MyBatis, para acessar o banco de dados.
Otimize as instruções SQL com base em relatórios de análise de desempenho e recomendações de um administrador de banco de dados.
Use o recurso de separação de leitura e escrita do PolarDB-X para encaminhar consultas entre bancos de dados para nós somente leitura.
Faça upgrade da sua instância PolarDB-X para uma especificação superior para melhorar a capacidade de processamento do back-end.
Entre em contato com o suporte técnico para ajustar o número de conexões no back-end do PolarDB-X.
TDDL-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW
Descrição: A criação de uma conexão com um nó de dados do PolarDB-X está muito lenta.
Exemplo:
ERR-CODE: [TDDL-4104][ERR_ATOM_CREATE_CONNECTION_TOO_SLOW] Get connection for db '*****' from pool timeout. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 3, maxActive 5.-
Explicação: O PolarDB-X cria conexões com seus nós de dados de forma assíncrona. Esse processo pode atingir o tempo limite se houver solicitações excessivas de conexões em curto período ou se um nó de dados demorar para aceitá-las. Normalmente, carga excessiva ou exceções nos nós de dados causam esse problema. Para reduzir a carga do back-end, utilize o recurso de separação de leitura e escrita do PolarDB-X ou faça upgrade da instância para uma especificação superior.
Se o erro persistir após descartar problemas nos nós de dados, entre em contato com o suporte técnico. Caso o problema seja causado pela criação rápida de muitas conexões, solicite ao suporte técnico o ajuste do número mínimo de conexões do PolarDB-X.
TDDL-4105 ERR_ATOM_ACCESS_DENIED
Descrição: Um nó de dados de back-end do PolarDB-X negou uma solicitação de conexão.
Exemplo:
ERR-CODE: [TDDL-4105][ERR_ATOM_ACCESS_DENIED] DB '*****' Access denied for user '*****'@'*****'. AppName:*****, Env:*****, UnitName:null. Please contact DBA to check.Explicação: Este erro indica que o PolarDB-X falhou ao conectar-se a um nó de dados porque o nome de usuário e a senha especificados não possuem autorização. Para resolver, entre em contato com o suporte técnico.
TDDL-4106 ERR_ATOM_DB_DOWN
Descrição: Este erro indica que o PolarDB-X não consegue se conectar a um nó de dados de back-end.
Exemplo:
ERR-CODE: [TDDL-4106][ERR_ATOM_DB_DOWN] DB '*****' cannot be connected. AppName:*****, Env:*****, UnitName:null. It seems a very real possibility that this DB IS DOWN. Please contact DBA to check.Observação: Esta falha ocorre quando a conexão do PolarDB-X com um nó de dados de back-end expira ou o nó não responde. Geralmente, uma falha no nó de dados causa esse problema. Para resolver, entre em contato com o suporte técnico.
TDDL-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW
Descrição: Certas variáveis não podem ser definidas como NULL.
Exemplo:
ERR-CODE: [TDDL-4108][ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW] System variable ***** can''t set to null for now;Explicação: Não é possível definir certas variáveis do nó de dados como NULL com a instrução
SET var = x. Se isso for tentado, o PolarDB-X retornará o erro TDDL-4108.
TDDL-4200 ERR_GROUP_NOT_AVALILABLE
Descrição: Um nó de dados no PolarDB-X está temporariamente indisponível.
Exemplo:
ERR-CODE: [TDDL-4200][ERR_GROUP_NOT_AVALILABLE] The TDDL Group ***** is running in fail-fast status, caused by this SQL:***** which threw a fatal exception as *****.-
Explicação: Quando um nó de dados dentro de um shard de banco de dados fica inacessível e não há outros nós disponíveis nesse shard, o PolarDB-X coloca o shard em estado de fail-fast e retorna o erro TDDL-4200.
Normalmente, uma falha no nó de dados causa esse erro. Identifique e resolva o problema com base nas informações de exceção do nó afetado. Após a recuperação do nó de dados com falha, o PolarDB-X limpa automaticamente o estado de fail-fast.
Se o erro TDDL-4200 persistir após a resolução da falha no nó de dados, entre em contato com o suporte técnico.
TDDL-4201 ERR_GROUP_NO_ATOM_AVALILABLE
Descrição: Nenhum nó de dados está disponível em um shard de banco de dados do PolarDB-X.
Exemplo:
ERR-CODE: [TDDL-4201][ERR_GROUP_NO_ATOM_AVALILABLE] All weights of DBs in Group '*****' is 0. Weights is: *****.-
Explicação: O PolarDB-X retorna o erro TDDL-4201 quando todos os nós de dados em um shard de banco de dados estão indisponíveis ou em estado de fail-fast.
Uma falha no nó de dados geralmente causa esse erro. Verifique o status dos nós de dados de back-end para localizar e resolver o problema. Se o erro persistir após a resolução da falha, entre em contato com o suporte técnico.
TDDL-4202 ERR_SQL_QUERY_TIMEOUT
Descrição: Uma consulta do PolarDB-X atingiu o tempo limite.
Exemplo:
ERR-CODE: [TDDL-4202][ERR_SQL_QUERY_TIMEOUT] Slow query leads to a timeout exception, please contact DBA to check slow sql. SocketTimout:*** ms, Atom:*****, Group:*****, AppName:*****, Env:*****, UnitName:null.-
Explicação: Este erro ocorre quando o tempo de execução de uma instrução SQL em um nó de dados de back-end excede o limite socketTimeout no PolarDB-X. Por padrão, o tempo limite de consulta (socketTimeout) do PolarDB-X é de 900 segundos.
Para resolver, otimize a instrução SQL e crie um índice apropriado no nó de dados de back-end para melhorar o desempenho. Se a instrução SQL continuar lenta após a otimização, use a seguinte sintaxe de hint para definir temporariamente o tempo limite de consulta do PolarDB-X:
/*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;. O valor SOCKET_TIMEOUT está em milissegundos para o PolarDB-X. Como personalizar o período de tempo limite do SQL. Entre em contato com o suporte técnico para ajustar permanentemente o tempo limite de consulta do PolarDB-X.
TDDL-4203 ERR_SQL_QUERY_MERGE_TIMEOUT
Descrição: Uma consulta distribuída do PolarDB-X atingiu o tempo limite.
Exemplo:
ERR-CODE: [TDDL-4203][ERR_SQL_QUERY_MERGE_TIMEOUT] Slow sql query leads to a timeout exception during merging results, please optimize the slow sql. The the default timeout is *** ms. DB is *****-
Observação: Este erro ocorre quando uma consulta distribuída do PolarDB-X expira. Por padrão, o tempo limite é de 900 segundos. Isso significa que uma instrução SQL que verificou múltiplos shards de banco de dados levou mais tempo do que o limite de 900 segundos para ser executada.
Otimizações recomendadas:
Inclua uma condição de chave de shard na cláusula WHERE para otimizar a instrução SQL, permitindo que ela seja executada em um único shard de banco de dados.
Crie um índice adequado nos nós de dados de back-end para melhorar o desempenho da varredura de dados em cada shard.
Elimine operações demoradas, como JOINs entre bancos de dados e reordenação de dados em consultas distribuídas, para reduzir o consumo de recursos durante a fase de mesclagem de dados do PolarDB-X.
Se a consulta continuar lenta após a otimização, use o seguinte hint para aumentar temporariamente o tempo limite do PolarDB-X:
/*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;. O valor SOCKET_TIMEOUT está em milissegundos para o PolarDB-X. Como personalizar o período de tempo limite do SQL.
TDDL-4400 ERR_SEQUENCE
Descrição: Falha ao processar uma sequence (sequence globalmente única).
Exemplo:
ERR-CODE: [TDDL-4400][ERR_SEQUENCE] Sequence : All dataSource faild to get value!-
Explicação: Este erro indica uma falha no processamento de uma sequence. Os detalhes do erro seguem a string
Sequence :. Uma causa comum para o TDDL-4400 é a falha em um nó de dados que impede o acesso às tabelas relacionadas à sequence.Primeiro, verifique o status dos nós de dados de back-end. Se o erro persistir após descartar falhas nos nós de dados, entre em contato com o suporte técnico.
TDDL-4401 ERR_MISS_SEQUENCE
Descrição: A sequence especificada não existe.
Exemplo:
ERR-CODE: [TDDL-4401][ERR_MISS_SEQUENCE] Sequence '*****' is not found-
Explicação: O nome da sequence especificado na instrução não existe. Execute a instrução
SHOW SEQUENCESpara verificar os nomes de todas as sequences criadas no PolarDB-X e utilize um nome válido.Se a sequence não existir, use a seguinte instrução para criá-la:
CREATE SEQUENCE <sequence name> [ START WITH <numeric value> ] [ INCREMENT BY <numeric value> ] [ MAXVALUE <numeric value> ] [ CYCLE | NOCYCLE ]`Se a sequence do PolarDB-X existir, mas o erro TDDL-4401 persistir, entre em contato com o suporte técnico. Visão geral.
TDDL-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB
Descrição: A tabela de sequence não existe.
Exemplo:
ERR-CODE: [TDDL-4403][ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB] Sequence table is not in default db.Explicação: As tabelas chamadas
sequenceousequence_optestão inacessíveis no banco de dados de back-end do PolarDB-X. Para resolver, entre em contato com o suporte técnico.
TDDL-4404 ERR_SEQUENCE_TABLE_META
Descrição: O esquema da tabela de sequence é inválido.
Exemplo:
ERR-CODE: [TDDL-4404][ERR_SEQUENCE_TABLE_META] the meta of sequence table is error, some columns missedExplicação: Campos obrigatórios estão ausentes nas tabelas de sequence (como sequence ou sequence_opt). Entre em contato com o suporte técnico.
TDDL-4405 ERR_INIT_SEQUENCE_FROM_DB
Descrição: Este erro indica uma falha na inicialização da sequence.
Exemplo:
ERR-CODE: [TDDL-4405][ERR_INIT_SEQUENCE_FROM_DB] init sequence manager error: *****Explicação: Este erro ocorre quando uma sequence falha ao inicializar. A mensagem após 'init sequence manager error' detalha a causa específica. Primeiro, verifique o status dos nós de dados de back-end do PolarDB-X. Se o erro TDDL-4405 persistir após resolver quaisquer falhas nos nós de dados, entre em contato com o suporte técnico.
TDDL-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE
Descrição: Falha ao acessar uma tabela de sequence.
Exemplo:
ERR-CODE: [TDDL-4407][ERR_OTHER_WHEN_BUILD_SEQUENCE] error when build sequence: *****-
Explicação: Este erro ocorre ao acessar uma tabela relacionada a sequences, como
sequenceousequence_opt. A mensagem de erro específica aparece após a stringerror when build sequence:.Primeiro, verifique o status dos nós de dados de back-end do PolarDB-X. Se o erro TDDL-4407 persistir após descartar falhas nos nós de dados, entre em contato com o suporte técnico.
TDDL-4408 ERR_SEQUENCE_NEXT_VALUE
Descrição: Ocorre quando há falha ao recuperar o próximo valor de uma sequence.
Exemplo:
ERR-CODE: [TDDL-4408][ERR_SEQUENCE_NEXT_VALUE] error when get sequence's next value, sequence is: *****, error: *****-
Explicação: Este erro ocorre ao usar uma chave primária de incremento automático no PolarDB-X ou ao recuperar manualmente um GUID usando a sintaxe
<sequence name>.NEXTVAL. O prompterror:detalha a causa específica.Uma falha no nó de dados de back-end geralmente causa esse erro. Verifique o status e a carga de acesso dos nós de dados de back-end do PolarDB-X. Se o erro persistir após a solução de problemas nos nós de dados de back-end, entre em contato com o suporte técnico.
TDDL-4500 ERR_PARSER
Descrição: Falha ao analisar a instrução SQL.
Exemplo:
ERR-CODE: [TDDL-4500][ERR_PARSER] not support statement: '*****'-
Observação: O PolarDB-X suporta sintaxe SQL compatível com o padrão SQL-92, além de extensões de sintaxe e funções suportadas pelo MySQL. Verifique se suas instruções SQL estão em conformidade com os padrões suportados pelo PolarDB-X e pelo MySQL.
Verifique seu SQL em relação à referência de sintaxe SQL padrão e aos limites de sintaxe SQL. Se o erro TDDL-4500 persistir, entre em contato com o suporte técnico.
TDDL-4501 ERR_OPTIMIZER
Descrição: O otimizador falha ao converter uma instrução SQL.
Exemplo:
ERR-CODE: [TDDL-4501][ERR_OPTIMIZER] optimize error by: Unknown column '*****' in 'order clause'-
Explicação: Este erro ocorre quando o otimizador do PolarDB-X não consegue converter uma instrução SQL em uma árvore de sintaxe interna devido a um erro lógico na instrução.
Use a mensagem após 'optimize error by' para corrigir sua instrução SQL. Se o erro persistir, entre em contato com o suporte técnico.
TDDL-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT
Descrição: A
function columnnaORDER BY clauseestá ausente naSELECT clause.Exemplo:
ERR-CODE: [TDDL-4502][ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT] Syntax Error: orderBy/GroupBy Column ***** is not existed in select clause-
Explicação: No PolarDB-X, qualquer coluna de função (como RAND()) usada em uma cláusula ORDER BY também deve aparecer na cláusula SELECT da mesma instrução SQL. A ausência disso aciona o erro TDDL-4502.
Adicione a
function columncorrespondente àSELECT clause.
TDDL-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN
Descrição: Uma condição obrigatória de chave de shard está ausente para o SELF JOIN.
Exemplo:
ERR-CODE: [TDDL-4504][ERR_OPTIMIZER_SELF_CROSS_JOIN] self cross join case, add shard column filter on right table-
Observação: Este erro ocorre durante um SELF JOIN no PolarDB-X se a cláusula where especificar uma condição de chave de shard apenas para a tabela esquerda ou direita.
Para resolver, garanta que a cláusula where da instrução SQL inclua condições de chave de shard tanto para a tabela esquerda quanto para a direita.
TDDL-4506 ERR_MODIFY_SHARD_COLUMN
Descrição: Não é possível atualizar a chave de shard.
Exemplo:
ERR-CODE: [TDDL-4506][ERR_MODIFY_SHARD_COLUMN] Column '*****' is a sharding key of table '*****', which is forbidden to be modified.-
Explicação: Este erro ocorre ao tentar modificar uma chave de shard. No PolarDB-X, não é possível modificar a chave de shard de uma tabela que possui um índice secundário global.
Como solução alternativa, substitua a instrução UPDATE por uma instrução INSERT e uma DELETE equivalentes.
TDDL-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN
Descrição: Não é possível realizar um sort-merge join.
Exemplo:
ERR-CODE: [TDDL-4508][ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN] sort merge join is not allowed when missing equivalent filter-
Explicação: Se uma instrução SQL unir tabelas localizadas em diferentes nós de dados, o PolarDB-X prioriza o algoritmo sort-merge join. Esse algoritmo requer uma condição de junção de igualdade entre as tabelas esquerda e direita. Caso contrário, o PolarDB-X reporta o erro TDDL-4508.
Para resolver, adicione uma condição de junção de igualdade à cláusula JOIN ou WHERE.
TDDL-4509 ERR_OPTIMIZER_ERROR_HINT
Exemplo:
ERR-CODE: [TDDL-4509][ERR_OPTIMIZER_ERROR_HINT] Hint Syntax Error: unexpected operation: *****.Explicação: O PolarDB-X não consegue analisar a sintaxe do hint na sua instrução SQL. Corrija a sintaxe conforme descrito em Como usar hints.
TDDL-4510 ERR_CONTAINS_NO_SHARDING_KEY
Descrição: A condição de chave de shard está ausente.
Exemplo:
ERR-CODE: [TDDL-4510][ERR_CONTAINS_NO_SHARDING_KEY] Your SQL contains NO SHARDING KEY '*****' for table '*****', which is not allowed in DEFAULT.Explicação: Este erro ocorre quando uma consulta sem condição de chave de shard tenta realizar uma varredura completa em uma tabela onde essa funcionalidade está desativada. Por padrão, o PolarDB-X habilita varreduras completas de tabela ao criar uma tabela. Se você desativar manualmente esse recurso, garanta que todas as instruções SQL para essa tabela incluam uma condição de chave de shard.
TDDL-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY
Descrição: A instrução INSERT não contém uma chave de shard.
Exemplo:
ERR-CODE: [TDDL-4511][ERR_INSERT_CONTAINS_NO_SHARDING_KEY] Your INSERT SQL contains NO SHARDING KEY '*****' for table '*****'.-
Uma instrução INSERT para uma tabela com shard do PolarDB-X deve incluir um valor de chave de shard. Essa exigência não se aplica se a chave de shard for uma chave primária de incremento automático. Caso contrário, o PolarDB-X retorna o erro TDDL-4511.
Para resolver esse erro, inclua o valor da chave de shard na instrução INSERT.
TDDL-4515 ERR_CONNECTION_CHARSET_NOT_MATCH
Descrição: O conjunto de caracteres de uma string de entrada não corresponde ao conjunto de caracteres do banco de dados.
Exemplo:
ERR-CODE: [TDDL-4515][ERR_CONNECTION_CHARSET_NOT_MATCH] Caused by MySQL's character_set_connection doesn't match your input charset. Partition DDL can only take ASCII or chinese column name. If you want use chinese table or column name, Make sure MySQL connection's charset support chinese character. Use "set names xxx" to set correct charset.-
Explicação: O PolarDB-X suporta caracteres chineses em nomes de tabelas e colunas. Este erro ocorre ao executar uma instrução SQL contendo caracteres chineses, mas o conjunto de caracteres da conexão, especificado pela variável
character_set_connection, está definido com um valor incompatível, comolatin1.Execute
SHOW VARIABLES LIKE 'character_set_connection'para consultar o conjunto de caracteres de conexão atual do cliente MySQL. Para alterar o conjunto de caracteres da conexão, use o comandoSET NAMES. Ao conectar-se ao PolarDB-X a partir de uma aplicação Java usando JDBC, defina o parâmetrocharacterEncoding.
TDDL-4517 ERR_MODIFY_SYSTEM_TABLE
Descrição: Não é possível modificar tabelas do sistema.
Exemplo:
ERR-CODE: [TDDL-4517][ERR_MODIFY_SYSTEM_TABLE] Table '*****' is PolarDB-XSYSTEM TABLE, which is forbidden to be modified.Explicação: O PolarDB-X mantém um conjunto de tabelas internas do sistema críticas para sua operação. O PolarDB-X retorna este erro quando uma instrução SQL tenta modificar dados nessas tabelas. As tabelas protegidas incluem sequence, sequence_opt e txc_undo_log. Não utilize esses nomes reservados para tabelas definidas pelo usuário.
TDDL-4520 ERR_DML_WITH_SUBQUERY
Descrição: Subconsultas não são suportadas em instruções DML.
Exemplo:
ERR-CODE: [TDDL-4520][ERR_DML_WITH_SUBQUERY] DO NOT support UPDATE/DELETE with subQueryExplicação: O PolarDB-X proíbe subconsultas dentro de instruções DML. Para resolver, reescreva a instrução SQL evitando o uso de subconsultas.
TDDL-4521 ERR_INSERT_SHARD
Descrição: Um registro mapeia para múltiplos shards durante uma operação INSERT.
Exemplo:
ERR-CODE: [TDDL-4521][ERR_INSERT_SHARD] Cannot decide which group to insertEste erro ocorre porque o registro mapeia para múltiplos shards e o sistema não consegue determinar qual utilizar. Se encontrar esse problema, entre em contato com o suporte técnico.
TDDL-4523 ERR_TODNF_LIMIT_EXCEED
Descrição: O número de condições na cláusula WHERE excede o limite.
Exemplo:
ERR-CODE: [TDDL-4523][ERR_TODNF_LIMIT_EXCEED] toDnf has exceed the limit sizeExplicação: O PolarDB-X converte as condições da cláusula WHERE para a forma normal conjuntiva (CNF) e forma normal disjuntiva (DNF) para dedução e otimização de condições. Para garantir a estabilidade do sistema, o PolarDB-X limita o número de condições a 2.000. É possível aumentar esse limite ajustando o parâmetro DNF_REX_NODE_LIMIT.
TDDL-4524 ERR_TOCNF_LIMIT_EXCEED
Descrição: O número de condições na cláusula WHERE excede o limite.
Exemplo:
ERR-CODE: [TDDL-4524][ERR_TOCNF_LIMIT_EXCEED] toCnf has exceeded the limitExplicação: Para realizar dedução e otimização de condições, o PolarDB-X converte as condições de consulta em uma cláusula WHERE SQL para a forma normal conjuntiva (CNF) e forma normal disjuntiva (DNF). Para garantir a estabilidade da otimização, o PolarDB-X limita o número de condições a 2.000. É possível aumentar esse limite ajustando o parâmetro CNF_REX_NODE_LIMIT.
TDDL-4526 ERR_FUNCTION_NOT_FOUND
Descrição: A função especificada não é suportada.
Exemplo:
ERR-CODE: [TDDL-4526][ERR_FUNCTION_NOT_FOUND] No match found for function signatureObservação: Este erro ocorre quando a consulta SQL usa sintaxe incorreta ou uma função não suportada. Garanta que a chamada da função utilize o número e os tipos de parâmetros corretos.
TDDL-4527 ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK
Não é possível modificar a chave de shard em uma tabela sem chave primária.
Exemplo:
ERR-CODE: [TDDL-4527][ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK]Explicação: O PolarDB-X não suporta a modificação da chave de shard em uma tabela que não possui chave primária.
TDDL-4595 ERR_UNKNOWN_TZ
Descrição: O fuso horário especificado é inválido.
Exemplo:
ERR-CODE: [TDDL-4595][ERR_UNKNOWN_TZ]Observação: Verifique a sintaxe e o formato do fuso horário especificado.
TDDL-4600 ERR_FUNCTION
Descrição: Chamada de função inválida.
Exemplo:
ERR-CODE: [TDDL-4600][ERR_FUNCTION] function compute error by Incorrect parameter count in the call to native function '*****'Observação: Este erro indica que uma chamada de função em uma consulta SQL possui sintaxe ou parâmetros incorretos. Revise a chamada da função para verificar se a quantidade e os tipos de parâmetros estão corretos.
TDDL-4601 ERR_EXECUTOR
-
Exemplo:
ERR-CODE: [TDDL-4601][ERR_EXECUTOR] only one column is supported in distinct aggregate Explicação: Este erro indica uma falha interna no PolarDB-X durante a execução do SQL, geralmente causada por um problema na instância RDS MySQL de back-end.
TDDL-4602 ERR_CONVERTOR
Descrição: Conversão de tipo inválida.
Exemplo:
ERR-CODE: [TDDL-4602][ERR_CONVERTOR] convertor error by Unsupported convert: [*****]Explicação: Este erro ocorre quando o PolarDB-X falha ao converter um tipo de dados durante a execução da consulta SQL. Inspecione a consulta SQL em busca de conversões implícitas de tipo e utilize tipos de dados correspondentes para comparações e cálculos.
TDDL-4603 ERR_ACCROSS_DB_TRANSACTION
Descrição: Falha em uma transação entre bancos de dados.
Exemplo:
ERR-CODE: [TDDL-4603][ERR_ACCROSS_DB_TRANSACTION] Transaction accross db is not supported in current transaction policy, transaction node is: {0}, but this sql execute on: *****.Observação: Embora o PolarDB-X suporte transações entre bancos de dados por padrão, este erro indica que uma política de transação diferente foi definida.
TDDL-4604 ERR_CONCURRENT_TRANSACTION
Descrição: Transações aninhadas não são suportadas.
Exemplo:
ERR-CODE: [TDDL-4604][ERR_CONCURRENT_TRANSACTION] Concurrent query is not supported on transaction group, transaction group is: {0}.-
Explicação: O PolarDB-X não suporta transações aninhadas. Este erro ocorre ao iniciar uma nova transação em uma conexão de banco de dados que já possui uma transação ativa.
Para resolver, evite usar transações aninhadas na lógica da sua aplicação. Alternativamente, utilize um framework de transação na camada de aplicação para evitar aninhamentos.
TDDL-4606: ERR_QUERY_CANCLED
Descrição: A instrução SQL atual foi cancelada.
Exemplo:
ERR-CODE: [TDDL-4606][ERR_QUERY_CANCLED] Getting connection is not allowed when query has been canceled, group is *****Explicação: Este erro ocorre quando uma instrução
KILLcancela uma instrução SQL. Se esse erro ocorrer frequentemente, verifique se algum cliente ou programa está emitindo a instrução KILL.
TDDL-4610 ERR_CONNECTION_CLOSED
Descrição: A conexão foi fechada.
Exemplo:
ERR-CODE: [TDDL-4610][ERR_CONNECTION_CLOSED] connection has been closed-
Explicação: Este erro ocorre ao tentar reutilizar uma conexão de banco de dados fechada. Uma conexão é fechada se uma instrução SQL em uma transação falhar ou for cancelada pelo comando
KILL.Para resolver, feche a conexão inválida e adquira uma nova.
TDDL-4612 ERR_CHECK_SQL_PRIV
Descrição: A conta atual não possui permissões suficientes para executar a instrução SQL.
Exemplo:
ERR-CODE: [TDDL-4612][ERR_CHECK_SQL_PRIV] check user ***** on db ***** sql privileges failed.-
Explicação: Versões recentes do PolarDB-X incluem um sistema de autorização de contas semelhante ao sistema de permissões do MySQL. Apenas uma conta com as permissões necessárias pode executar a instrução SQL. Se uma conta não tiver as permissões exigidas, o PolarDB-X retorna o erro TDDL-4612.
Para resolver, verifique as permissões da conta no PolarDB-X. Se insuficientes, conceda as permissões necessárias do PolarDB-X no console do PolarDB-X. Gerenciar contas de banco de dados.
TDDL-4614 ERR_EXECUTE_ON_MYSQL
Descrição: Este erro ocorre quando uma instrução SQL falha ao executar em um nó de dados.
-
Exemplo:
ERR-CODE: [TDDL-4614][ERR_EXECUTE_ON_MYSQL] Error occurs when execute on GROUP '*****': Duplicate entry '*****' for key 'PRIMARY' This error occurs when an SQL statement fails on a PolarDB-X data node. The end of the message shows the raw error from the data node. The following are common examples: Duplicate entry '*****' for key 'PRIMARY' A primary key conflict occurred when writing data to a data node table. To fix this, correct the data and run the statement again. The table '*****' is full This indicates that a temporary table on the data node is full. To fix this, increase the temporary tablespace or optimize the SQL statement. Deadlock found when trying to get lock; A deadlock occurred on the data node, often due to a high number of transaction conflicts during write operations. Observação: Consulte a mensagem de erro original para solucionar problemas do TDDL-4614. Verifique a documentação do MySQL 5.6 para detalhes sobre erros do MySQL. Se o problema persistir após descartar problemas na aplicação ou nos nós de dados, entre em contato com o suporte técnico.
TDDL-4616 ERR_UNKNOWN_DATABASE
Descrição: O banco de dados especificado não existe.
Exemplo:
ERR-CODE: [TDDL-4616][ERR_UNKNOWN_DATABASE] Unknown database '*****'-
Explicação: O PolarDB-X permite especificar um nome de banco de dados em uma instrução DDL. Este erro ocorre se o nome especificado não corresponder ao nome do seu banco de dados PolarDB-X.
Para resolver, modifique o nome do banco de dados na instrução DDL para corresponder ao nome do seu banco de dados PolarDB-X.
TDDL-4620 ERR_FORBID_EXECUTE_DML_ALL
O PolarDB-X proíbe instruções delete e update sem uma where clause.
TDDL-4633 ERR_DB_STATUS_READ_ONLY
Exemplo:
ERR-CODE: [TDDL-4633][ERR_DB_STATUS_READ_ONLY] Database is read-only, only read sql are supportedEste erro indica que o banco de dados é somente leitura. Verifique as permissões da conta atual.
TDDL-4636 ERR_DDL_JOB_ERROR
Falha na execução de uma instrução DDL.
Exemplo:
ERR-CODE: [TDDL-4636][ERR_DDL_JOB_ERROR] xxxx
Para resolver, consulte Tratar exceções de DDL.
TDDL-4642 ERR_UNKNOWN_TABLE
Este erro significa que a tabela especificada não existe no banco de dados.
Exemplo:
ERR-CODE: [TDDL-4642][ERR_UNKNOWN_TABLE] Unknown table XX.XX
Para resolver, verifique se a tabela existe no banco de dados atual.
TDDL-4707 ERR_OUT_OF_MEMORY
Descrição: Uma consulta excedeu o limite de memória para uma tabela temporária.
Exemplo:
ERR-CODE: [TDDL-4707][ERR_OUT_OF_MEMORY]Explicação: Para manter a estabilidade do banco de dados, o PolarDB-X impõe um limite de memória para tabelas temporárias em cada consulta. Este erro ocorre quando uma consulta que processa um grande volume de dados faz com que sua tabela temporária exceda o limite de memória. Para resolver, ative o recurso de spill to disk (descarregamento em disco) ou aumente o limite de memória para a tabela temporária da consulta.
TDDL-4709 ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD
Exemplo:
ERR-CODE: [TDDL-4709][ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD]Explicação: O recurso de otimização de hot row requer transações de shard único. Você receberá este erro se uma transação que utiliza esse recurso se tornar uma transação entre shards. Para resolver, ajuste sua lógica de negócios para garantir que a transação permaneça dentro de um único shard.
TDDL-4994 ERR_FLOW_CONTROL
Descrição: O limite de taxa de solicitações foi excedido.
Exemplo:
ERR-CODE: [TDDL-4994][ERR_FLOW_CONTROL] [*****] flow control by *****Explicação: Este erro indica que o PolarDB-X atingiu seu limite interno de processamento de solicitações SQL e, portanto, está rejeitando a solicitação atual. Verifique se há picos anormais no volume de solicitações SQL. Se o erro TDDL-4994 persistir mesmo após a redução do volume de solicitações SQL, entre em contato com o suporte técnico.
TDDL-4998 ERR_NOT_SUPPORT
Descrição: O recurso especificado não é suportado.
Exemplo:
ERR-CODE: [TDDL-4998][ERR_NOT_SUPPORT] ***** not support yet!Observação: Este erro indica que a sintaxe SQL ou o recurso na sua instrução não é suportado pelo PolarDB-X. Se sua aplicação exigir esse recurso, entre em contato com o suporte técnico.
TDDL-5001 ERR_TRANS
Descrição: Ocorreu um erro geral de transação.
Exemplo:
ERR-CODE: [TDDL-5001][ERR_TRANS] Too many lines updated in statement.-
Explicação: Solucione o problema com base na mensagem específica do erro.
-
Too many lines updated in statementEste erro ocorre quando o número de linhas atualizadas por uma instrução
UPDATEem uma transação excede o limite de 1.000. Verifique a cláusulaWHEREda instrução. Se precisar atualizar um grande volume de dados em uma transação, use o hint do/*TDDL:UNDO_LOG_LIMIT={number}*/do PolarDB-X para ajustar o limite. -
Deferred execution is only supported in Flexible or XA TransactionA execução adiada funciona apenas com a política de transação flexível ou transação XA. Antes de adiar uma execução usando o hint do
/*TDDL:DEFER*/do PolarDB-X, execute o comandoSET drds_transaction_policy = ***para alterar a política de transação do PolarDB-X. Para outras mensagens de erro, entre em contato com o suporte técnico.
-
TDDL-5002 ERR_TRANS_UNSUPPORTED
Descrição: A transação usa uma sintaxe ou recurso não suportado.
Exemplo:
ERR-CODE: [TDDL-5002][ERR_TRANS_UNSUPPORTED] Table without primary keys is not supported.Observação: O PolarDB-X não suporta este recurso em transações. Se precisar dessa funcionalidade, entre em contato com o suporte técnico.
TDDL-5003 ERR_TRANS_LOG
Descrição: O log de transações não pode ser acessado.
Exemplo:
ERR-CODE: [TDDL-5003][ERR_TRANS_LOG] Failed to update transaction state: *****-
Para garantir a atomicidade de uma transação distribuída, o PolarDB-X acessa o log de transações nos nós de dados de back-end. O erro TDDL-5003 ocorre se o PolarDB-X falhar ao ler ou gravar no log de transações.
Uma falha no nó de dados de back-end geralmente causa o erro TDDL-5003. Verifique o status e a carga de acesso dos nós de dados de back-end do PolarDB-X. Se o erro persistir após descartar problemas nos nós de dados, entre em contato com o suporte técnico.
TDDL-5006 ERR_TRANS_COMMIT
Descrição: Este erro indica que uma transação falhou ao confirmar (commit).
Exemplo:
ERR-CODE: [TDDL-5006][ERR_TRANS_COMMIT] Failed to commit primary group *****: *****, TRANS_ID = *****Explicação: Este erro ocorre quando o PolarDB-X falha ao confirmar um ramo de transação. O sistema reverte automaticamente a transação identificada por TRANS_ID. A causa típica é uma falha no nó de dados de back-end. Verifique o status e a carga de acesso dos nós de dados de back-end no PolarDB-X. Se o erro persistir após descartar problemas nos nós de dados de back-end, entre em contato com o suporte técnico.
TDDL-5008 ERR_TRANS_TERMINATED
Descrição: Uma instrução
KILLou um tempo limite encerrou a transação.Exemplo:
ERR-CODE: [TDDL-5008][ERR_TRANS_TERMINATED] Current transaction was killed or timeout. You may need to set a longer timeout value.Explicação: Este erro ocorre se uma transação do PolarDB-X for encerrada por uma instrução
KILLou se seu tempo de execução exceder o valor do parâmetrodrds_transaction_timeout. Se o erro for causado por tempo limite de transação, execute o comandoSET drds_transaction_timeout = ***para aumentar o tempo máximo de execução das transações do PolarDB-X. O valor é especificado em milissegundos.
TDDL-5010 ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL
Descrição: Uma transação não pode continuar após a falha de uma operação de escrita.
Exemplo:
ERR-CODE: [TDDL-5010][ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing failedObservação: Quando uma operação de escrita falha em uma transação distribuída do PolarDB-X, a transação é interrompida. Você deve emitir um comando
rollbacka partir do front-end para encerrar a transação antes de tentar novamente. Você também pode usar a análise de logs para solucionar problemas de transações lentas.
TDDL-5108 ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE
Descrição: A conta atual não possui as permissões necessárias para a tabela especificada. Verifique as permissões concedidas à conta.
TDDL-5119 ERR_FILE_CANNOT_BE_CREATE
Descrição: O suporte à instrução SELECT INTO OUTFILE está desativado por padrão no PolarDB-X. Para ativá-lo, entre em contato com o suporte técnico.
TDDL-5302 ERR_GLOBAL_SECONDARY_INDEX_UNSUPPORTED
Não é possível criar um índice secundário global nesta tabela por um dos seguintes motivos: 1. A tabela é uma tabela não particionada ou uma tabela de broadcast. 2. As colunas do índice secundário global não incluem a chave de partição. Para qualquer outro motivo, entre em contato com o suporte técnico.
TDDL-5306 ERR_GLOBAL_SECONDARY_INDEX_INSERT_DUPLICATE_VALUES
Este erro ocorre quando uma operação de escrita em uma tabela de índice secundário global resulta em conflito de chave primária. Verifique o valor do registro na mensagem de erro para identificar o registro conflitante.
TDDL-5308 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_UNIQUE_KEY
Este erro ocorre quando uma operação DML causa conflito de chave única em um índice secundário global. Para resolver, verifique o valor do registro na mensagem de erro para identificar os dados conflitantes.
TDDL-5310 ERR_GLOBAL_SECONDARY_INDEX_ONLY_SUPPORT_XA
O PolarDB-X suporta índices secundários globais apenas com transações distribuídas XA ou Timestamp Oracle (TSO). Este erro pode ocorrer se você alterou a política de transação padrão. Para resolver, defina a política de transação distribuída de volta para XA ou TSO e, em seguida, crie o índice secundário global.
TDDL-5313 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_WITH_DDL
Por padrão, o PolarDB-X não suporta operações DDL em tabelas de índice secundário global. Para habilitar essa capacidade, entre em contato com o suporte técnico.
TDDL-5316 ERR_GLOBAL_SECONDARY_INDEX_INDEX_AND_SHARDING_COLUMNS_NOT_MATCH
Este erro ocorre porque um índice secundário global do PolarDB-X deve incluir todas as suas chaves de partição nas colunas do índice. Essa regra se aplica a todas as chaves de partição, como a chave de shard do banco de dados e a chave de partição da tabela. Por exemplo, a instrução CREATE GLOBAL INDEX idx_1 ON t(a, b) DBPARTITION BY HASH(c) aciona o erro TDDL-5316. Isso ocorre porque a cláusula ON t(a, b) especifica a e b como colunas de índice, mas omite a chave de partição, c. Para resolver, atualize sua instrução DDL para garantir que as colunas do índice incluam todas as chaves de partição do índice secundário global.
TDDL-5317 ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL
Exemplo:
ERR-CODE: [TDDL-5317][ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing global secondary index failedDescrição: Se este erro ocorrer ao executar uma instrução DML em uma tabela com índice secundário global (GSI), não será possível confirmar a transação que contém a instrução com falha. Você deve modificar seu código de negócios para reverter e, em seguida, tentar novamente a transação.
TDDL-5321 ERR_GLOBAL_SECONDARY_INDEX_BACKFILL_DUPLICATE_ENTRY
Este erro indica que uma chave primária duplicada foi encontrada na tabela de índice durante o preenchimento de dados (backfilling) para um índice secundário global.
TDDL-8007 ERR_ABANDONED_TASK
O PolarDB-X retorna este erro quando encerra uma consulta excessivamente lenta ou travada por mais de duas horas. Para resolver, otimize sua consulta. Se o problema persistir, entre em contato com o suporte técnico.
TDDL-8008 ERR_EXECUTE_SPILL
Grandes resultados intermediários de consulta podem causar o descarregamento de uma tabela temporária para o disco. Este erro indica que ocorreu uma exceção durante o processo de spill-to-disk. Entre em contato com o suporte técnico.
TDDL-8011 ERR_OUT_OF_SPILL_SPACE
Durante a execução da consulta, grandes resultados intermediários podem fazer com que tabelas temporárias sejam descarregadas para o disco. Este erro ocorre quando esses arquivos excedem o espaço máximo em disco para spill. Para resolver, otimize a consulta para minimizar o uso de tabelas temporárias. Se o problema persistir, entre em contato com o suporte técnico.
TDDL-8012 ERR_OUT_OF_SPILL_FD
Durante a execução da consulta, grandes resultados intermediários podem fazer com que uma tabela temporária seja descarregada para o disco. Este erro ocorre se a tabela temporária gerar mais arquivos do que o limite de handles de arquivo do sistema. Entre em contato com o suporte técnico para investigar um possível vazamento de handles de arquivo. Se nenhum vazamento for encontrado, você pode aumentar o limite de handles de arquivo conforme necessário.
TDDL-8102 ERR_PAGE_TOO_LARGE
Este erro ocorre durante o processamento massivamente paralelo (MPP) quando um lote de dados trocado entre nós de computação excede o limite de tamanho da chamada de procedimento remoto (RPC). Para resolver, reduza o CHUNK_SIZE padrão.
TDDL-8103 ERR_NO_NODES_AVAILABLE
Descrição: Este erro indica que nenhum nó de computação está disponível para agendamento de tarefas, possivelmente devido a uma falha no nó de computação durante a computação paralela MPP. Para resolver, verifique se todos os serviços dos nós de computação estão funcionando corretamente. Se o erro persistir, entre em contato com o suporte técnico.
TDDL-9301 ERR_DUPLICATED_PARTITION_NAME
Este erro ocorre quando uma instrução DDL usa um nome de partição duplicado.
TDDL-9305 ERR_PARTITION_NAME_NOT_EXISTS
Este erro ocorre quando uma operação DDL em uma tabela particionada especifica um nome de partição que não existe. Verifique se o nome da partição está escrito corretamente. Execute show create table e check table para verificar a consistência dos metadados. Metadados inconsistentes podem causar esse erro. Se o problema persistir, entre em contato com o suporte técnico.
TDDL-10004 ERR_X_PROTOCOL_RESULT
Exemplo:
ERR-CODE: [TDDL-10004][ERR_X_PROTOCOL_RESULT] Should use chunk2chunk to fetch dataExplicação: No PolarDB-X, os nós de computação usam RPC privado para se comunicar com os nós de dados. Este erro indica uma falha na conexão entre um nó de computação e um nó de dados. Existem várias causas potenciais para esse problema. Verifique a mensagem de erro para mais detalhes. Se não conseguir identificar a causa raiz, entre em contato com o suporte técnico.