Tous les produits
Search
Centre de documentation

PolarDB:Error Codes

Dernière mise à jour :Aug 11, 2026

Répertorie les codes d'erreur courants de PolarDB-X avec leurs descriptions, des exemples et des solutions.

TDDL-1305 ERR_UNKNOWN_SAVEPOINT

  • Description : Le point de sauvegarde spécifié n'existe pas.

  • Exemple : ERR-CODE: [TDDL-1305][ERR_UNKNOWN_SAVEPOINT] SAVEPOINT ***** does not exist

  • Dans PolarDB-X, cette erreur survient lors de l'exécution de l'instruction ROLLBACK TO SAVEPOINT ou RELEASE SAVEPOINT sur un point de sauvegarde inexistant.

    Vérifiez que le nom du point de sauvegarde utilisé correspond à celui renvoyé par l'instruction de création du point de sauvegarde.

TDDL-1094 ERR_UNKNOWN_THREAD_ID

  • Description : L'ID de session spécifié dans la commande KILL n'existe pas.

  • Exemple : ERR-CODE: [TDDL-1094][ERR_UNKNOWN_THREAD_ID] Unknown thread id: *****

  • Explication : Cette erreur survient lors de l'exécution de la commande KILL sur PolarDB-X pour terminer une instruction SQL, alors que l'ID de session spécifié est introuvable ou que l'instruction SQL est déjà terminée.

    Exécutez SHOW PROCESSLIST pour obtenir l'ID de session de l'instruction SQL en cours, puis utilisez KILL uniquement sur un ID renvoyé par cette commande.

TDDL-4006 ERR_TABLE_NOT_EXIST

  • Description : La table de données PolarDB-X n'existe pas.

  • Exemple : ERR-CODE: [TDDL-4006][ERR_TABLE_NOT_EXIST] Table '*****' doesn't exist.

  • Remarque : Ce code d'erreur indique que la table de données PolarDB-X n'existe pas, ou que PolarDB-X ne parvient pas à charger ses métadonnées pour des raisons inconnues.

TDDL-4007 ERR_CANNOT_FETCH_TABLE_META

  • Description : PolarDB-X ne parvient pas à charger les métadonnées de la table.

  • Exemple : ERR-CODE: [TDDL-4007][ERR_CANNOT_FETCH_TABLE_META] Table '*****' metadata cannot be fetched because Table '*****.*****' doesn't exist.

  • Explication : PolarDB-X échoue à lire les métadonnées de la table. Causes possibles :

    • La table n'a pas été créée.

    • Incohérence des métadonnées dans la base de métadonnées.

    • La table a été supprimée ou renommée.

    En cas d'erreur, vérifiez d'abord l'existence de la table. Vous pouvez également exécuter la commande CHECK TABLE pour vérifier la cohérence de la base de métadonnées de PolarDB-X. Si la table a été supprimée ou renommée manuellement, utilisez la fonctionnalité de récupération des données de PolarDB-X. Si le problème persiste, contactez le support technique.

TDDL-4018 ERR_INVALID_DDL_PARAMS

  • Description : PolarDB-X n'a pas pu exécuter une opération DDL.

  • Exemple : ERR-CODE: [TDDL-4018][ERR_INVALID_DDL_PARAMS] invalid '*****'.

  • Explication : Une instruction DDL contient un paramètre invalide. Vérifiez l'exactitude de tous les paramètres. Si l'erreur persiste, contactez le support technique.

TDDL-4100 ERR_ATOM_NOT_AVALILABLE

  • Description : Un nœud de données backend de PolarDB-X est temporairement indisponible.

  • Exemple : ERR-CODE: [TDDL-4100][ERR_ATOM_NOT_AVALILABLE] Atom : ***** isNotAvailable

  • Remarque : Si PolarDB-X détecte une anomalie sur un nœud de données backend, il bloque temporairement l'accès à l'instance et renvoie cette erreur.

    En cas d'erreur, vérifiez l'état de tous les nœuds de données backend de PolarDB-X. Dès qu'un nœud de données récupère, PolarDB-X rétablit automatiquement sa disponibilité et permet aux applications de reprendre un accès normal.

TDDL-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON

  • Description : Un nœud de calcul PolarDB-X ne parvient pas à se connecter à un nœud de données.

  • Exemple : 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.

  • Remarque : Lors du traitement d'une requête, PolarDB-X crée de manière asynchrone une connexion vers un nœud de données. Si la connexion n'est pas établie dans le délai imparti et que la tâche asynchrone ne renvoie aucune erreur spécifique, PolarDB-X renvoie l'erreur TDDL-4101 à l'application.

    Une exception sur un nœud de données backend provoque généralement cette erreur. Si l'erreur persiste après résolution des problèmes liés aux nœuds de données, contactez le support technique.

TDDL-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON

  • Description : Échec de l'obtention d'une connexion backend dans PolarDB-X pour une raison connue.

  • Exemple : ERR-CODE: [TDDL-4102][ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON] Get connection for db '*****' failed because wait millis 5000, active 0, maxActive 5

  • Remarque : Un nœud de calcul PolarDB-X n'a pas réussi à obtenir une connexion vers un nœud de données. La raison de l'échec figure dans le message ERR-CODE. Causes courantes des échecs de connexion à un nœud de données PolarDB-X :

    • Le nœud de données backend a atteint son nombre maximal de connexions.

    • Expiration du délai de connexion entre le nœud de calcul et le nœud de données.

    • Refus de connexion par le nœud de données.

    Si l'erreur persiste après avoir écarté les problèmes liés au nœud de données backend, contactez le support technique.

TDDL-4103 ERR_ATOM_CONNECTION_POOL_FULL

  • Description : Le pool de connexions d'un nœud de données backend PolarDB-X est saturé.

  • Exemple : 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.

  • Explication : Le pool de connexions backend de PolarDB-X est saturé. Causes courantes :

    • Des instructions SQL lentes provenant d'une application maintiennent les connexions ouvertes pendant de longues périodes, provoquant une pénurie de connexions disponibles.

    • Fuite de connexion due à une fermeture incorrecte des connexions à la base de données par l'application.

    • De nombreuses requêtes inter-bases de données concurrentes, telles que des requêtes d'agrégation ou des requêtes sans condition de clé de partitionnement, consomment beaucoup de connexions.

    Pour résoudre ce problème, essayez les solutions suivantes :

    • Utilisez un framework, tel que Spring JDBC ou MyBatis, pour accéder à la base de données.

    • Optimisez les instructions SQL en vous basant sur les rapports d'analyse des performances et les recommandations d'un administrateur de base de données.

    • Utilisez la fonctionnalité de répartition lecture/écriture de PolarDB-X pour transférer les requêtes inter-bases de données vers des nœuds en lecture seule.

    • Mettez à niveau votre instance PolarDB-X vers une spécification supérieure pour améliorer la capacité de traitement backend.

    • Contactez le support technique pour ajuster le nombre de connexions sur le backend PolarDB-X.

TDDL-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW

  • Description : La création d'une connexion vers un nœud de données PolarDB-X est trop lente.

  • Exemple : 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.

  • Explication : PolarDB-X crée des connexions vers ses nœuds de données de manière asynchrone. Ce processus peut expirer si trop de connexions sont demandées trop rapidement ou si un nœud de données est lent à les accepter. Ce problème est généralement causé par une charge excessive ou des exceptions sur les nœuds de données. Pour réduire la charge backend, utilisez la fonctionnalité de répartition lecture/écriture de PolarDB-X ou mettez à niveau votre instance vers une spécification supérieure.

    Si l'erreur persiste après avoir écarté les problèmes liés aux nœuds de données, contactez le support technique. Si le problème est causé par la création trop rapide d'un grand nombre de connexions, contactez le support technique pour ajuster le nombre minimal de connexions pour PolarDB-X.

TDDL-4105 ERR_ATOM_ACCESS_DENIED

  • Description : Un nœud de données backend de PolarDB-X a refusé une demande de connexion.

  • Exemple : ERR-CODE: [TDDL-4105][ERR_ATOM_ACCESS_DENIED] DB '*****' Access denied for user '*****'@'*****'. AppName:*****, Env:*****, UnitName:null. Please contact DBA to check.

  • Explication : PolarDB-X n'a pas pu se connecter à un nœud de données car le nom d'utilisateur et le mot de passe spécifiés n'étaient pas autorisés. Pour résoudre ce problème, contactez le support technique.

TDDL-4106 ERR_ATOM_DB_DOWN

  • Description : PolarDB-X ne parvient pas à se connecter à un nœud de données backend.

  • Exemple : 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.

  • Remarque : Cette erreur survient lorsqu'une connexion de PolarDB-X vers un nœud de données backend expire ou que le nœud ne répond pas. Une défaillance du nœud de données provoque généralement ce problème. Pour résoudre ce problème, contactez le support technique.

TDDL-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW

  • Description : Certaines variables ne peuvent pas être définies sur NULL.

  • Exemple : ERR-CODE: [TDDL-4108][ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW] System variable ***** can''t set to null for now;

  • Explication : Il est impossible de définir certaines variables de nœud de données sur NULL avec l'instruction SET var = x. Dans ce cas, PolarDB-X renvoie l'erreur TDDL-4108.

TDDL-4200 ERR_GROUP_NOT_AVALILABLE

  • Description : Un nœud de données dans PolarDB-X est temporairement indisponible.

  • Exemple : 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 *****.

  • Explication : Lorsqu'un nœud de données au sein d'un fragment de base de données devient inaccessible et qu'aucun autre nœud de données n'est disponible dans ce fragment, PolarDB-X place le fragment de base de données dans un état d'échec rapide (fail-fast) et renvoie l'erreur TDDL-4200.

    Une défaillance du nœud de données provoque généralement cette erreur. Localisez et résolvez le problème en vous basant sur les informations d'exception pour le nœud de données affecté. Après la récupération du nœud de données défaillant, PolarDB-X efface automatiquement l'état d'échec rapide.

    Si l'erreur TDDL-4200 persiste après avoir résolu la défaillance du nœud de données, contactez le support technique.

TDDL-4201 ERR_GROUP_NO_ATOM_AVALILABLE

  • Description : Aucun nœud de données n'est disponible dans un fragment de base de données PolarDB-X.

  • Exemple : ERR-CODE: [TDDL-4201][ERR_GROUP_NO_ATOM_AVALILABLE] All weights of DBs in Group '*****' is 0. Weights is: *****.

  • Explication : PolarDB-X renvoie l'erreur TDDL-4201 lorsque tous les nœuds de données d'un fragment de base de données sont indisponibles ou en état d'échec rapide.

    Une défaillance du nœud de données provoque généralement cette erreur. Vérifiez l'état des nœuds de données backend pour localiser et résoudre le problème. Si l'erreur persiste après avoir résolu la défaillance, contactez le support technique.

TDDL-4202 ERR_SQL_QUERY_TIMEOUT

  • Description : Expiration du délai d'une requête PolarDB-X.

  • Exemple : 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.

  • Explication : Le temps d'exécution d'une instruction SQL sur un nœud de données backend dépasse la limite socketTimeout dans PolarDB-X. Par défaut, le délai d'expiration des requêtes PolarDB-X (socketTimeout) est de 900 secondes.

    Pour résoudre ce problème, optimisez l'instruction SQL et créez un index approprié sur le nœud de données backend pour améliorer les performances. Si l'instruction SQL reste lente après optimisation, vous pouvez utiliser la syntaxe d'indice suivante pour définir temporairement le délai d'expiration des requêtes PolarDB-X : /*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;. SOCKET_TIMEOUT est exprimé en millisecondes pour PolarDB-X. Comment personnaliser la période d'expiration SQL. Contactez le support technique pour ajuster de manière permanente le délai d'expiration des requêtes PolarDB-X.

TDDL-4203 ERR_SQL_QUERY_MERGE_TIMEOUT

  • Description : Expiration du délai d'une requête distribuée PolarDB-X.

  • Exemple : 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 *****

  • Remarque : Une requête distribuée PolarDB-X a expiré. Par défaut, le délai d'expiration est de 900 secondes. Cette erreur signifie qu'une instruction SQL qui a analysé plusieurs fragments de base de données a pris plus de 900 secondes pour s'exécuter.

    Optimisations recommandées :

    • Incluez une condition de clé de partitionnement dans la clause WHERE pour optimiser l'instruction SQL afin qu'elle s'exécute sur un seul fragment de base de données.

    • Créez un index approprié sur les nœuds de données backend pour améliorer les performances d'analyse des données sur chaque fragment de base de données.

    • Éliminez les opérations chronophages comme les jointures inter-bases de données et le réordonnancement des données dans les requêtes distribuées pour réduire la consommation de ressources pendant la phase de fusion des données PolarDB-X.

    Si la requête reste lente après optimisation, utilisez l'indice suivant pour augmenter temporairement le délai d'expiration pour PolarDB-X : /*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;. SOCKET_TIMEOUT est exprimé en millisecondes pour PolarDB-X. Comment personnaliser la période d'expiration SQL.

TDDL-4400 ERR_SEQUENCE

  • Description : Échec du traitement d'une séquence (séquence globalement unique).

  • Exemple : ERR-CODE: [TDDL-4400][ERR_SEQUENCE] Sequence : All dataSource faild to get value!

  • Explication : Échec du traitement d'une séquence. Les détails de l'erreur suivent la chaîne Sequence :. Une cause courante de TDDL-4400 est une défaillance du nœud de données qui empêche l'accès aux tables liées aux séquences.

    Vérifiez d'abord l'état des nœuds de données backend. Si l'erreur persiste après avoir écarté les défaillances des nœuds de données, contactez le support technique.

TDDL-4401 ERR_MISS_SEQUENCE

  • Description : La séquence spécifiée n'existe pas.

  • Exemple : ERR-CODE: [TDDL-4401][ERR_MISS_SEQUENCE] Sequence '*****' is not found

  • Explication : Le nom de séquence spécifié dans l'instruction n'existe pas. Exécutez l'instruction SHOW SEQUENCES pour vérifier les noms de toutes les séquences créées dans PolarDB-X et utilisez un nom de séquence valide.

    Si la séquence n'existe pas, utilisez l'instruction suivante pour la créer :

    CREATE SEQUENCE <sequence name> [ START WITH <numeric value> ] 
    [ INCREMENT BY <numeric value> ] [ MAXVALUE <numeric value> ] 
    [ CYCLE | NOCYCLE ]` 

    Si la séquence PolarDB-X existe mais que l'erreur TDDL-4401 persiste, contactez le support technique. Vue d'ensemble.

TDDL-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB

  • Description : La table de séquence n'existe pas.

  • Exemple : ERR-CODE: [TDDL-4403][ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB] Sequence table is not in default db.

  • Explication : Les tables nommées sequence ou sequence_opt sont inaccessibles dans la base de données backend PolarDB-X. Pour résoudre ce problème, contactez le support technique.

TDDL-4404 ERR_SEQUENCE_TABLE_META

  • Description : Le schéma de la table de séquence est invalide.

  • Exemple : ERR-CODE: [TDDL-4404][ERR_SEQUENCE_TABLE_META] the meta of sequence table is error, some columns missed

  • Explication : Des champs requis sont manquants dans les tables de séquence (telles que sequence ou sequence_opt). Contactez le support technique.

TDDL-4405 ERR_INIT_SEQUENCE_FROM_DB

  • Description : Échec de l'initialisation de la séquence.

  • Exemple : ERR-CODE: [TDDL-4405][ERR_INIT_SEQUENCE_FROM_DB] init sequence manager error: *****

  • Explication : Échec de l'initialisation d'une séquence. Le message suivant 'init sequence manager error' détaille la cause spécifique. Vérifiez d'abord l'état des nœuds de données backend PolarDB-X. Si l'erreur TDDL-4405 persiste après avoir résolu les défaillances des nœuds de données, contactez le support technique.

TDDL-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE

  • Description : Échec de l'accès à une table de séquence.

  • Exemple : ERR-CODE: [TDDL-4407][ERR_OTHER_WHEN_BUILD_SEQUENCE] error when build sequence: *****

  • Explication : Erreur lors de l'accès à une table liée aux séquences, telle que sequence ou sequence_opt. Le message d'erreur spécifique apparaît après la chaîne error when build sequence:.

    Vérifiez d'abord l'état des nœuds de données backend PolarDB-X. Si l'erreur TDDL-4407 persiste après avoir écarté les défaillances des nœuds de données, contactez le support technique.

TDDL-4408 ERR_SEQUENCE_NEXT_VALUE

  • Description : Échec de la récupération de la valeur suivante d'une séquence.

  • Exemple : ERR-CODE: [TDDL-4408][ERR_SEQUENCE_NEXT_VALUE] error when get sequence's next value, sequence is: *****, error: *****

  • Explication : Cette erreur survient lors de l'utilisation d'une clé primaire auto-incrémentée dans PolarDB-X ou de la récupération manuelle d'un GUID via la syntaxe <sequence name>.NEXTVAL. L'invite error: détaille la cause spécifique.

    Une défaillance du nœud de données backend provoque généralement cette erreur. Vérifiez l'état et la charge d'accès des nœuds de données backend PolarDB-X. Si l'erreur persiste après le dépannage des nœuds de données backend, contactez le support technique.

TDDL-4500 ERR_PARSER

  • Description : Échec de l'analyse de l'instruction SQL.

  • Exemple : ERR-CODE: [TDDL-4500][ERR_PARSER] not support statement: '*****'

  • Remarque : PolarDB-X prend en charge la syntaxe SQL conforme à la norme SQL-92, ainsi que les extensions de syntaxe et les fonctions prises en charge par MySQL. Vérifiez que vos instructions SQL sont conformes aux normes prises en charge par PolarDB-X et MySQL.

    Vérifiez votre SQL par rapport à la référence de syntaxe SQL standard et aux limites de la syntaxe SQL. Si l'erreur TDDL-4500 persiste, contactez le support technique.

TDDL-4501 ERR_OPTIMIZER

  • Description : L'optimiseur échoue à convertir une instruction SQL.

  • Exemple : ERR-CODE: [TDDL-4501][ERR_OPTIMIZER] optimize error by: Unknown column '*****' in 'order clause'

  • Explication : L'optimiseur PolarDB-X ne peut pas convertir une instruction SQL en arbre syntaxique interne en raison d'une erreur logique dans l'instruction.

    Utilisez le message suivant 'optimize error by' pour corriger votre instruction SQL. Si l'erreur persiste, contactez le support technique.

TDDL-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT

  • Description : La colonne de fonction dans la clause ORDER BY est absente de la clause SELECT.

  • Exemple : ERR-CODE: [TDDL-4502][ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT] Syntax Error: orderBy/GroupBy Column ***** is not existed in select clause

  • Explication : Dans PolarDB-X, toute colonne de fonction (telle que RAND()) utilisée dans une clause ORDER BY doit également apparaître dans la clause SELECT de la même instruction SQL. Le fait de ne pas le faire déclenche l'erreur TDDL-4502.

    Ajoutez la colonne de fonction correspondante à la clause SELECT.

TDDL-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN

  • Description : Une condition de clé de partitionnement requise est manquante pour la jointure automatique (SELF JOIN).

  • Exemple : ERR-CODE: [TDDL-4504][ERR_OPTIMIZER_SELF_CROSS_JOIN] self cross join case, add shard column filter on right table

  • Remarque : Cette erreur survient lors d'une jointure automatique (SELF JOIN) dans PolarDB-X si la clause where spécifie une condition de clé de partitionnement uniquement pour la table de gauche ou la table de droite.

    Pour résoudre ce problème, assurez-vous que la clause where de l'instruction SQL inclut des conditions de clé de partitionnement pour les tables de gauche et de droite.

TDDL-4506 ERR_MODIFY_SHARD_COLUMN

  • Description : Impossible de mettre à jour la clé de partitionnement.

  • Exemple : ERR-CODE: [TDDL-4506][ERR_MODIFY_SHARD_COLUMN] Column '*****' is a sharding key of table '*****', which is forbidden to be modified.

  • Explication : Tentative de modification d'une clé de partitionnement. Dans PolarDB-X, vous ne pouvez pas modifier la clé de partitionnement d'une table qui possède un index secondaire global.

    Comme solution de contournement, remplacez l'instruction UPDATE par une instruction INSERT équivalente et une instruction DELETE.

TDDL-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN

  • Description : Impossible d'effectuer une jointure par fusion triée (sort-merge join).

  • Exemple : ERR-CODE: [TDDL-4508][ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN] sort merge join is not allowed when missing equivalent filter

  • Explication : Si une instruction SQL joint des tables situées sur différents nœuds de données, PolarDB-X privilégie l'algorithme de jointure par fusion triée. Cet algorithme nécessite une condition de jointure d'égalité entre les tables de gauche et de droite. Sinon, PolarDB-X signale l'erreur TDDL-4508.

    Pour résoudre ce problème, ajoutez une condition de jointure d'égalité à la clause JOIN ou WHERE.

TDDL-4509 ERR_OPTIMIZER_ERROR_HINT

  • Exemple : ERR-CODE: [TDDL-4509][ERR_OPTIMIZER_ERROR_HINT] Hint Syntax Error: unexpected operation: *****.

  • Explication : PolarDB-X ne peut pas analyser la syntaxe d'indice dans votre instruction SQL. Corrigez la syntaxe conformément à Comment utiliser les indices.

TDDL-4510 ERR_CONTAINS_NO_SHARDING_KEY

  • Description : La condition de clé de partitionnement est manquante.

  • Exemple : ERR-CODE: [TDDL-4510][ERR_CONTAINS_NO_SHARDING_KEY] Your SQL contains NO SHARDING KEY '*****' for table '*****', which is not allowed in DEFAULT.

  • Explication : Une requête sans condition de clé de partitionnement tente une analyse complète de la table sur une table où les analyses complètes sont désactivées. Par défaut, PolarDB-X active les analyses complètes de table lors de la création d'une table. Si vous désactivez manuellement cette fonctionnalité, assurez-vous que toutes les instructions SQL pour cette table incluent une condition de clé de partitionnement.

TDDL-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY

  • Description : L'instruction INSERT ne contient pas de clé de partitionnement.

  • Exemple : ERR-CODE: [TDDL-4511][ERR_INSERT_CONTAINS_NO_SHARDING_KEY] Your INSERT SQL contains NO SHARDING KEY '*****' for table '*****'.

  • Une instruction INSERT pour une table partitionnée PolarDB-X doit inclure une valeur de clé de partitionnement. Cette exigence ne s'applique pas si la clé de partitionnement est une clé primaire auto-incrémentée. Sinon, PolarDB-X renvoie l'erreur TDDL-4511.

    Pour résoudre cette erreur, incluez la valeur de la clé de partitionnement dans l'instruction INSERT.

TDDL-4515 ERR_CONNECTION_CHARSET_NOT_MATCH

  • Description : Le jeu de caractères d'une chaîne d'entrée ne correspond pas au jeu de caractères de la base de données.

  • Exemple : 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.

  • Explication : PolarDB-X prend en charge les caractères chinois dans les noms de table et de colonne. Cette erreur survient lors de l'exécution d'une instruction SQL contenant des caractères chinois, alors que le jeu de caractères de la connexion, spécifié par la variable character_set_connection, est défini sur une valeur incompatible, telle que latin1.

    Exécutez SHOW VARIABLES LIKE 'character_set_connection' pour interroger le jeu de caractères de connexion actuel du client MySQL. Pour modifier le jeu de caractères de la connexion, utilisez la commande SET NAMES. Lors de la connexion à PolarDB-X depuis une application Java utilisant JDBC, définissez le paramètre characterEncoding.

TDDL-4517 ERR_MODIFY_SYSTEM_TABLE

  • Description : Impossible de modifier les tables système.

  • Exemple : ERR-CODE: [TDDL-4517][ERR_MODIFY_SYSTEM_TABLE] Table '*****' is PolarDB-XSYSTEM TABLE, which is forbidden to be modified.

  • Explication : PolarDB-X maintient un ensemble de tables système internes essentielles à son fonctionnement. PolarDB-X renvoie cette erreur lorsqu'une instruction SQL tente de modifier les données de ces tables. Les tables système protégées incluent sequence, sequence_opt et txc_undo_log. N'utilisez pas ces noms réservés pour les tables définies par l'utilisateur.

TDDL-4520 ERR_DML_WITH_SUBQUERY

  • Description : Les sous-requêtes ne sont pas prises en charge dans les instructions DML.

  • Exemple : ERR-CODE: [TDDL-4520][ERR_DML_WITH_SUBQUERY] DO NOT support UPDATE/DELETE with subQuery

  • Explication : PolarDB-X interdit les sous-requêtes dans les instructions DML. Pour résoudre ce problème, réécrivez l'instruction SQL pour éviter d'utiliser une sous-requête.

TDDL-4521 ERR_INSERT_SHARD

  • Description : Un enregistrement correspond à plusieurs fragments lors d'une opération INSERT.

  • Exemple : ERR-CODE: [TDDL-4521][ERR_INSERT_SHARD] Cannot decide which group to insert

  • Cette erreur survient parce que l'enregistrement correspond à plusieurs fragments et que le système ne peut pas déterminer lequel utiliser. Si vous rencontrez ce problème, contactez le support technique.

TDDL-4523 ERR_TODNF_LIMIT_EXCEED

  • Description : Le nombre de conditions dans la clause WHERE dépasse la limite.

  • Exemple : ERR-CODE: [TDDL-4523][ERR_TODNF_LIMIT_EXCEED] toDnf has exceed the limit size

  • Explication : PolarDB-X convertit les conditions de la clause WHERE en forme normale conjonctive (CNF) et en forme normale disjonctive (DNF) pour la déduction et l'optimisation des conditions. Pour assurer la stabilité du système, PolarDB-X limite le nombre de conditions à 2 000. Vous pouvez augmenter cette limite en ajustant le paramètre DNF_REX_NODE_LIMIT.

TDDL-4524 ERR_TOCNF_LIMIT_EXCEED

  • Description : Le nombre de conditions dans la clause WHERE dépasse la limite.

  • Exemple : ERR-CODE: [TDDL-4524][ERR_TOCNF_LIMIT_EXCEED] toCnf has exceeded the limit

  • Explication : Pour effectuer la déduction et l'optimisation des conditions, PolarDB-X convertit les conditions de requête dans une clause WHERE SQL en forme normale conjonctive (CNF) et en forme normale disjonctive (DNF). Pour assurer la stabilité de l'optimisation, PolarDB-X limite le nombre de conditions à 2 000. Vous pouvez augmenter cette limite en ajustant le paramètre CNF_REX_NODE_LIMIT.

TDDL-4526 ERR_FUNCTION_NOT_FOUND

  • Description : La fonction spécifiée n'est pas prise en charge.

  • Exemple : ERR-CODE: [TDDL-4526][ERR_FUNCTION_NOT_FOUND] No match found for function signature

  • Remarque : La requête SQL utilise une syntaxe incorrecte ou une fonction non prise en charge. Assurez-vous que l'appel de fonction utilise le bon nombre et le bon type de paramètres.

TDDL-4527 ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK

  • Impossible de modifier la clé de partitionnement sur une table sans clé primaire.

  • Exemple : ERR-CODE: [TDDL-4527][ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK]

  • Explication : PolarDB-X ne prend pas en charge la modification de la clé de partitionnement sur une table qui ne possède pas de clé primaire.

TDDL-4595 ERR_UNKNOWN_TZ

  • Description : Le fuseau horaire spécifié est invalide.

  • Exemple : ERR-CODE: [TDDL-4595][ERR_UNKNOWN_TZ]

  • Remarque : Vérifiez la syntaxe et le format du fuseau horaire spécifié.

TDDL-4600 ERR_FUNCTION

  • Description : Appel de fonction invalide.

  • Exemple : ERR-CODE: [TDDL-4600][ERR_FUNCTION] function compute error by Incorrect parameter count in the call to native function '*****'

  • Remarque : Un appel de fonction dans une requête SQL présente une syntaxe ou des paramètres incorrects. Vérifiez l'appel de fonction pour vous assurer que le nombre et les types de paramètres sont corrects.

TDDL-4601 ERR_EXECUTOR

  • Exemple :

    ERR-CODE: [TDDL-4601][ERR_EXECUTOR] only one column is supported in 
    distinct aggregate
  • Explication : Échec interne dans PolarDB-X lors de l'exécution SQL, généralement causé par un problème avec l'instance RDS MySQL backend.

TDDL-4602 ERR_CONVERTOR

  • Description : Conversion de type invalide.

  • Exemple : ERR-CODE: [TDDL-4602][ERR_CONVERTOR] convertor error by Unsupported convert: [*****]

  • Explication : PolarDB-X échoue à convertir un type de données lors de l'exécution d'une requête SQL. Inspectez la requête SQL pour détecter les conversions de type implicites et utilisez des types de données correspondants pour les comparaisons et les calculs.

TDDL-4603 ERR_ACCROSS_DB_TRANSACTION

  • Description : Échec d'une transaction inter-bases de données.

  • Exemple : 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: *****.

  • Remarque : Bien que PolarDB-X prenne en charge les transactions inter-bases de données par défaut, cette erreur indique qu'une politique de transaction différente a été définie.

TDDL-4604 ERR_CONCURRENT_TRANSACTION

  • Description : Les transactions imbriquées ne sont pas prises en charge.

  • Exemple : ERR-CODE: [TDDL-4604][ERR_CONCURRENT_TRANSACTION] Concurrent query is not supported on transaction group, transaction group is: {0}.

  • Explication : PolarDB-X ne prend pas en charge les transactions imbriquées. Cette erreur survient lorsque vous démarrez une nouvelle transaction sur une connexion de base de données qui possède déjà une transaction active.

    Pour résoudre ce problème, évitez d'utiliser des transactions imbriquées dans la logique de votre application. Vous pouvez également utiliser un framework de transaction au niveau de l'application pour empêcher l'imbrication.

TDDL-4606: ERR_QUERY_CANCLED

  • Description : L'instruction SQL actuelle a été annulée.

  • Exemple : ERR-CODE: [TDDL-4606][ERR_QUERY_CANCLED] Getting connection is not allowed when query has been canceled, group is *****

  • Explication : Une instruction KILL a annulé une instruction SQL. Si cette erreur se produit fréquemment, vérifiez si un client ou un programme émet l'instruction KILL.

TDDL-4610 ERR_CONNECTION_CLOSED

  • Description : La connexion a été fermée.

  • Exemple : ERR-CODE: [TDDL-4610][ERR_CONNECTION_CLOSED] connection has been closed

  • Explication : Tentative de réutilisation d'une connexion de base de données fermée. Une connexion est fermée si une instruction SQL dans une transaction échoue ou est annulée par la commande KILL.

    Pour résoudre ce problème, fermez la connexion invalide et obtenez-en une nouvelle.

TDDL-4612 ERR_CHECK_SQL_PRIV

  • Description : Le compte actuel ne dispose pas des autorisations suffisantes pour exécuter l'instruction SQL.

  • Exemple : ERR-CODE: [TDDL-4612][ERR_CHECK_SQL_PRIV] check user ***** on db ***** sql privileges failed.

  • Explication : Les nouvelles versions de PolarDB-X incluent un système d'autorisation de compte similaire au système d'autorisations de MySQL. Seul un compte disposant des autorisations requises peut exécuter l'instruction SQL. Si un compte ne dispose pas des autorisations requises, PolarDB-X renvoie l'erreur TDDL-4612.

    Pour résoudre ce problème, vérifiez les autorisations PolarDB-X du compte. Si elles sont insuffisantes, accordez les autorisations PolarDB-X requises dans la console PolarDB-X. Gérer les comptes de base de données.

TDDL-4614 ERR_EXECUTE_ON_MYSQL

  • Description : Échec d'exécution d'une instruction SQL sur un nœud de données.

  • Exemple :

    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.

    Erreur avec une instruction INSERT INTO ... ON DUPLICATE KEY UPDATE

    • Symptôme : Lorsque vous utilisez une instruction INSERT INTO ... ON DUPLICATE KEY UPDATE... pour écrire des données, vous recevez une erreur semblable à la suivante : Error occurs when execute on GROUP 'PROMOTION_P00000_GROUP' ATOM 'dskeyxxxxxxx000_group#pxc-xdb-s-xxxxxxxxxxx#x.x.x.x-3080#promotion_p00000': Duplicate entry '2024xxxxxxxx' for key 'uk_orderId'.

    • Cause : Le niveau d'isolation read committed (RC) n'utilise pas de verrous d'intervalle (gap locks), de sorte que les instructions SELECT FOR UPDATE peuvent renvoyer des résultats inexacts lors d'opérations concurrentes. La modification de la clé de partitionnement augmente le temps de réponse, rendant ce problème plus probable.

    • Solution : Pour résoudre ce problème, modifiez le niveau d'isolation de la base de données en repeatable read (RR). La suppression de la clé de partitionnement de l'instruction UPSERT réduit également considérablement le risque de cette erreur.

    Erreur d'insertion due à une clé primaire auto-incrémentée

    • Symptôme : Une insertion de données échoue avec une erreur de conflit de clé primaire, bien que l'instruction INSERT ne spécifie pas de valeur pour la clé primaire auto-incrémentée id. L'instruction SHOW CREATE TABLE indique que la prochaine valeur auto-incrémentée est 2900006, mais l'erreur est [179473d091c1a001][xxxx:3074][nationaltax]ERR-CODE: [TDDL-4614][ERR_EXECUTE_ON_MYSQL] Error occurs when execute on GROUP 'NATIOXXXXXGROUP' ATOM 'dskey_nationaltax_single_group#pxc-xdb-s-pxcxxxxxxqimhg2639#x.x.x.x-3001#nationaltax_single': Duplicate entry '200001' for key 'PRIMARY'.

    • Cause : La commande SHOW SEQUENCE affiche la valeur auto-incrémentée de départ allouée en interne par PolarDB-X. En revanche, la commande SHOW CREATE TABLE pour une table non partitionnée affiche une valeur égale à la valeur maximale des données réelles dans la table plus un. L'erreur est signalée car la valeur auto-incrémentée pour la table problématique est 200000. Vous pouvez exécuter la commande SHOW SEQUENCE pour afficher cette valeur.

    • Solution : Exécutez ALTER SEQUENCE AUTO_SEQ_xxxxxxxx START WITH <max_id> pour corriger la valeur de la séquence. ALTER SEQUENCE.

    Erreur UPDATE sur une table avec un index secondaire global (GSI)

    • Symptôme : L'exécution d'opérations UPDATE sur certaines tables peut provoquer de nombreuses erreurs de conflit de clé primaire comme celle-ci : TDDL-4614 Error occurs when execute on GROUP 'JMXXXXXXXXXXX00000' ATOM 'dskey_xdafdsfads': Duplicate entry '3204347' for key 'PRIMARY'.

    • Cause : Les instructions UPDATE qui échouent impliquent toutes la modification d'une clé de partitionnement sur un index secondaire global.

    • Solution : Supprimez le GSI sur la table avant d'exécuter l'instruction UPDATE.

    Remarque

    Pour un index local sur une table partitionnée, vous pouvez considérer la table comme étant divisée en plusieurs tables physiques basées sur la clé de partitionnement id. Un index local est une contrainte sur chaque table physique. Cela signifie que la contrainte d'unicité est effective au sein d'une table physique contenant des lignes avec la même clé de partitionnement id, mais elle n'est pas effective au niveau global. Pour garantir l'unicité globale pour la table logique, vous devez utiliser un index secondaire global (GSI), ce qui augmente la surcharge d'écriture. PolarDB-X peut garantir l'unicité pour une seule table physique sur un DN, mais il ne peut pas garantir l'unicité globale sur l'ensemble de l'instance PolarDB-X. Vous pouvez créer un GLOBAL UNIQUE INDEX pour garantir l'unicité globale.

  • Remarque : Reportez-vous au message d'erreur original pour résoudre le problème TDDL-4614. Consultez la documentation MySQL 5.6 pour les détails des erreurs MySQL. Si le problème persiste après avoir écarté les problèmes d'application ou de nœud de données, contactez le support technique.

TDDL-4616 ERR_UNKNOWN_DATABASE

  • Description : La base de données spécifiée n'existe pas.

  • Exemple : ERR-CODE: [TDDL-4616][ERR_UNKNOWN_DATABASE] Unknown database '*****'

  • Explication : PolarDB-X vous permet de spécifier un nom de base de données dans une instruction DDL. Cette erreur survient si le nom spécifié ne correspond pas au nom de votre base de données PolarDB-X.

    Pour résoudre ce problème, modifiez le nom de la base de données dans l'instruction DDL pour qu'il corresponde au nom de votre base de données PolarDB-X.

TDDL-4620 ERR_FORBID_EXECUTE_DML_ALL

PolarDB-X interdit les instructions delete et update sans clause where.

TDDL-4633 ERR_DB_STATUS_READ_ONLY

  • Exemple : ERR-CODE: [TDDL-4633][ERR_DB_STATUS_READ_ONLY] Database is read-only, only read sql are supported

  • Cette erreur indique que la base de données est en lecture seule. Vérifiez les autorisations pour le compte actuel.

TDDL-4636 ERR_DDL_JOB_ERROR

Échec d'exécution d'une instruction DDL.

Exemple :

ERR-CODE: [TDDL-4636][ERR_DDL_JOB_ERROR] xxxx

Pour résoudre ce problème, consultez Gérer les exceptions DDL.

TDDL-4642 ERR_UNKNOWN_TABLE

La table spécifiée n'existe pas dans la base de données.

Exemple :

ERR-CODE: [TDDL-4642][ERR_UNKNOWN_TABLE] Unknown table XX.XX

Pour résoudre ce problème, vérifiez que la table existe dans la base de données actuelle.

TDDL-4707 ERR_OUT_OF_MEMORY

  • Description : Une requête a dépassé la limite de mémoire pour une table temporaire.

  • Exemple : ERR-CODE: [TDDL-4707][ERR_OUT_OF_MEMORY]

  • Explication : Pour maintenir la stabilité de la base de données, PolarDB-X impose une limite de mémoire sur les tables temporaires pour chaque requête. Cette erreur survient lorsqu'une requête traitant un grand volume de données entraîne le dépassement de la limite de mémoire de sa table temporaire. Pour résoudre ce problème, activez la fonctionnalité de vidage sur disque (spill to disk) ou augmentez la limite de mémoire pour la table temporaire de la requête.

TDDL-4709 ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD

  • Exemple : ERR-CODE: [TDDL-4709][ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD]

  • Explication : La fonctionnalité d'optimisation des lignes chaudes nécessite des transactions mono-fragment. Vous recevrez cette erreur si une transaction utilisant cette fonctionnalité devient une transaction inter-fragments. Pour résoudre ce problème, ajustez la logique métier pour garantir que la transaction reste dans un seul fragment.

TDDL-4994 ERR_FLOW_CONTROL

  • Description : La limite de débit des requêtes a été dépassée.

  • Exemple : ERR-CODE: [TDDL-4994][ERR_FLOW_CONTROL] [*****] flow control by *****

  • Explication : PolarDB-X a atteint sa limite interne de traitement des requêtes SQL et rejette donc la requête actuelle. Vérifiez s'il existe des pics anormaux dans le volume de vos requêtes SQL. Si l'erreur TDDL-4994 persiste même après la diminution du volume de vos requêtes SQL, contactez le support technique.

TDDL-4998 ERR_NOT_SUPPORT

  • Description : La fonctionnalité spécifiée n'est pas prise en charge.

  • Exemple : ERR-CODE: [TDDL-4998][ERR_NOT_SUPPORT] ***** not support yet!

  • Remarque : La syntaxe SQL ou la fonctionnalité dans votre instruction n'est pas prise en charge par PolarDB-X. Si votre application nécessite cette fonctionnalité, contactez le support technique.

TDDL-5001 ERR_TRANS

  • Description : Une erreur générale de transaction s'est produite.

  • Exemple : ERR-CODE: [TDDL-5001][ERR_TRANS] Too many lines updated in statement.

  • Explication : Résolvez l'erreur en vous basant sur son message spécifique.

    • Too many lines updated in statement

      Le nombre de lignes mises à jour par une instruction UPDATE dans une transaction dépasse la limite de 1 000. Vérifiez la clause WHERE de l'instruction. Si vous devez mettre à jour un grand volume de données dans une transaction, utilisez l'indice PolarDB-X hint/*TDDL:UNDO_LOG_LIMIT={number}*/ pour ajuster la limite.

    • Deferred execution is only supported in Flexible or XA Transaction

      L'exécution différée fonctionne uniquement avec la politique de transaction flexible ou XA. Avant de différer une exécution en utilisant l'indice PolarDB-X hint/*TDDL:DEFER*/, exécutez la commande SET drds_transaction_policy = *** pour modifier la politique de transaction PolarDB-X.

    • Pour les autres messages d'erreur, contactez le support technique.

TDDL-5002 ERR_TRANS_UNSUPPORTED

  • Description : La transaction utilise une syntaxe ou une fonctionnalité non prise en charge.

  • Exemple : ERR-CODE: [TDDL-5002][ERR_TRANS_UNSUPPORTED] Table without primary keys is not supported.

  • Remarque : PolarDB-X ne prend pas en charge cette fonctionnalité dans les transactions. Si vous avez besoin de cette fonctionnalité, contactez le support technique.

TDDL-5003 ERR_TRANS_LOG

  • Description : Le journal des transactions est inaccessible.

  • Exemple : ERR-CODE: [TDDL-5003][ERR_TRANS_LOG] Failed to update transaction state: *****

  • Pour garantir l'atomicité d'une transaction distribuée, PolarDB-X accède au journal des transactions sur les nœuds de données backend. L'erreur TDDL-5003 survient si PolarDB-X échoue à lire ou à écrire dans le journal des transactions.

    Une défaillance du nœud de données backend provoque généralement l'erreur TDDL-5003. Vérifiez l'état et la charge d'accès des nœuds de données backend PolarDB-X. Si l'erreur persiste après avoir écarté les problèmes liés aux nœuds de données, contactez le support technique.

TDDL-5006 ERR_TRANS_COMMIT

  • Description : Échec de validation (commit) d'une transaction.

  • Exemple : ERR-CODE: [TDDL-5006][ERR_TRANS_COMMIT] Failed to commit primary group *****: *****, TRANS_ID = *****

  • Explication : PolarDB-X échoue à valider une branche de transaction. Le système annule automatiquement (rollback) la transaction identifiée par TRANS_ID. La cause typique est une défaillance du nœud de données backend. Vérifiez l'état et la charge d'accès des nœuds de données backend dans PolarDB-X. Si l'erreur persiste après avoir écarté les problèmes liés aux nœuds de données backend, contactez le support technique.

TDDL-5008 ERR_TRANS_TERMINATED

  • Description : Une instruction KILL ou un délai d'expiration a terminé la transaction.

  • Exemple : ERR-CODE: [TDDL-5008][ERR_TRANS_TERMINATED] Current transaction was killed or timeout. You may need to set a longer timeout value.

  • Explication : Une transaction PolarDB-X est terminée par une instruction KILL ou son temps d'exécution dépasse la valeur du paramètre drds_transaction_timeout. Si l'erreur est causée par un délai d'expiration de la transaction, vous pouvez exécuter la commande SET drds_transaction_timeout = *** pour augmenter le temps d'exécution maximal pour les transactions PolarDB-X. La valeur est spécifiée en millisecondes.

TDDL-5010 ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL

  • Description : Une transaction ne peut pas continuer après l'échec d'une opération d'écriture.

  • Exemple : ERR-CODE: [TDDL-5010][ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing failed

  • Remarque : Lorsqu'une opération d'écriture échoue dans une transaction distribuée PolarDB-X, la transaction s'arrête. Vous devez émettre une commande rollback depuis le frontend pour terminer la transaction avant de réessayer. Vous pouvez également utiliser l'analyse des journaux pour résoudre les problèmes de transactions lentes.

TDDL-5108 ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE

Description : Le compte actuel ne dispose pas des autorisations requises pour la table spécifiée. Vérifiez les autorisations accordées au compte.

TDDL-5119 ERR_FILE_CANNOT_BE_CREATE

Description : La prise en charge de l'instruction SELECT INTO OUTFILE est désactivée par défaut dans PolarDB-X. Pour l'activer, contactez le support technique.

TDDL-5302 ERR_GLOBAL_SECONDARY_INDEX_UNSUPPORTED

Vous ne pouvez pas créer d'index secondaire global sur cette table pour l'une des raisons suivantes : 1. La table est une table non partitionnée ou une table de diffusion (broadcast). 2. Les colonnes de l'index secondaire global n'incluent pas la clé de partitionnement. Pour toute autre raison, contactez le support technique.

TDDL-5306 ERR_GLOBAL_SECONDARY_INDEX_INSERT_DUPLICATE_VALUES

Une opération d'écriture dans une table d'index secondaire global entraîne un conflit de clé primaire. Vérifiez la valeur de l'enregistrement dans le message d'erreur pour identifier l'enregistrement conflictuel.

TDDL-5308 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_UNIQUE_KEY

Une opération DML provoque un conflit de clé unique sur un index secondaire global. Pour résoudre ce problème, vérifiez la valeur de l'enregistrement dans le message d'erreur pour identifier les données conflictuelles.

TDDL-5310 ERR_GLOBAL_SECONDARY_INDEX_ONLY_SUPPORT_XA

PolarDB-X prend en charge un index secondaire global uniquement avec les transactions distribuées XA ou Timestamp Oracle (TSO). Cette erreur peut survenir si vous avez modifié la politique de transaction par défaut. Pour résoudre ce problème, rétablissez la politique de transaction distribuée sur XA ou TSO, puis créez l'index secondaire global.

TDDL-5313 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_WITH_DDL

Par défaut, PolarDB-X ne prend pas en charge les opérations DDL sur les tables d'index secondaire global. Pour activer cette capacité, contactez le support technique.

TDDL-5316 ERR_GLOBAL_SECONDARY_INDEX_INDEX_AND_SHARDING_COLUMNS_NOT_MATCH

Un index secondaire global PolarDB-X doit inclure toutes ses clés de partitionnement dans les colonnes d'index. Cette règle s'applique à toutes les clés de partitionnement, telles que la clé de fragmentation de base de données et la clé de partitionnement de table. Par exemple, l'instruction CREATE GLOBAL INDEX idx_1 ON t(a, b) DBPARTITION BY HASH(c) déclenche l'erreur TDDL-5316. Cela se produit parce que la clause ON t(a, b) spécifie a et b comme colonnes d'index mais omet la clé de partitionnement, c. Pour résoudre cette erreur, mettez à jour votre instruction DDL pour vous assurer que les colonnes d'index incluent toutes les clés de partitionnement de l'index secondaire global.

TDDL-5317 ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL

  • Exemple : ERR-CODE: [TDDL-5317][ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing global secondary index failed

  • Description : Si cette erreur survient lors de l'exécution d'une instruction DML sur une table avec un index secondaire global (GSI), vous ne pouvez pas valider la transaction contenant l'instruction ayant échoué. Vous devez modifier votre code métier pour annuler (rollback) puis réessayer la transaction.

TDDL-5321 ERR_GLOBAL_SECONDARY_INDEX_BACKFILL_DUPLICATE_ENTRY

Cette erreur indique qu'une clé primaire en double a été trouvée dans la table d'index lors du remplissage des données (backfilling) pour un index secondaire global.

TDDL-8007 ERR_ABANDONED_TASK

PolarDB-X renvoie cette erreur lorsqu'il termine une requête excessivement lente ou bloquée depuis plus de deux heures. Pour résoudre ce problème, optimisez votre requête. Si le problème persiste, contactez le support technique.

TDDL-8008 ERR_EXECUTE_SPILL

De grands résultats de requête intermédiaires peuvent provoquer le vidage d'une table temporaire sur le disque. Cette erreur indique qu'une exception s'est produite pendant le processus de vidage sur disque. Contactez le support technique.

TDDL-8011 ERR_OUT_OF_SPILL_SPACE

Lors de l'exécution de la requête, de grands résultats intermédiaires peuvent provoquer le vidage des tables temporaires sur le disque. Cette erreur survient lorsque ces fichiers dépassent l'espace disque maximal autorisé pour le vidage. Pour résoudre ce problème, optimisez la requête pour minimiser l'utilisation des tables temporaires. Si le problème persiste, contactez le support technique.

TDDL-8012 ERR_OUT_OF_SPILL_FD

Lors de l'exécution de la requête, de grands résultats intermédiaires peuvent provoquer le vidage d'une table temporaire sur le disque. Cette erreur survient si la table temporaire génère plus de fichiers que la limite de descripteurs de fichiers du système. Contactez le support technique pour enquêter sur une éventuelle fuite de descripteurs de fichiers. Si aucune fuite n'est trouvée, vous pouvez augmenter la limite de descripteurs de fichiers selon les besoins.

TDDL-8102 ERR_PAGE_TOO_LARGE

Cette erreur survient lors du traitement massivement parallèle (MPP) lorsqu'un lot de données échangé entre les nœuds de calcul dépasse la limite de taille d'appel de procédure distante (RPC). Pour résoudre ce problème, réduisez la valeur CHUNK_SIZE par défaut.

TDDL-8103 ERR_NO_NODES_AVAILABLE

Description : Aucun nœud de calcul n'est disponible pour la planification des tâches, probablement en raison d'une défaillance d'un nœud de calcul lors du calcul parallèle MPP. Pour résoudre ce problème, vérifiez que tous les services des nœuds de calcul fonctionnent correctement. Si l'erreur persiste, contactez le support technique.

TDDL-9301 ERR_DUPLICATED_PARTITION_NAME

Une instruction DDL utilise un nom de partition en double.

TDDL-9305 ERR_PARTITION_NAME_NOT_EXISTS

Une opération DDL sur une table partitionnée spécifie un nom de partition qui n'existe pas. Vérifiez que le nom de la partition est correctement orthographié. Exécutez show create table et check table pour vérifier la cohérence des métadonnées. Des métadonnées incohérentes peuvent provoquer cette erreur. Si le problème persiste, contactez le support technique.

TDDL-10004 ERR_X_PROTOCOL_RESULT

  • Exemple : ERR-CODE: [TDDL-10004][ERR_X_PROTOCOL_RESULT] Should use chunk2chunk to fetch data

  • Explication : Dans PolarDB-X, les nœuds de calcul utilisent un RPC privé pour communiquer avec les nœuds de données. Cette erreur indique un échec de connexion entre un nœud de calcul et un nœud de données. Ce problème a plusieurs causes potentielles. Vérifiez le message d'erreur pour plus de détails. Si vous ne pouvez pas identifier la cause racine, contactez le support technique.