translog_corrupted_exception: translog_corrupted_exception
ElasticsearchQue signifie cette erreur ?
Le journal de transactions (translog) d'un shard n'a pas pu être lu car il est corrompu. Lors de la recovery, Elasticsearch a détecté que le translog avait échoué à son contrôle d'intégrité, et le shard n'a pas pu démarrer.
Cause
Les fichiers translog sont généralement corrompus par une coupure de courant soudaine, un disque plein, une erreur du système de fichiers, une panne matérielle/de disque ou des opérations externes sur le répertoire de données (copie, intervention manuelle). Des écritures partiellement terminées lors d'un arrêt forcé (kill -9) peuvent aussi en être la cause.
Comment la corriger
Essayez d'abord de récupérer les données depuis un réplica ou un snapshot ; si une copie saine existe, reconstruire le shard corrompu à partir de celle-ci est la voie la plus sûre. S'il n'existe pas d'autre copie et que vous acceptez une perte de données, arrêtez le nœud et nettoyez le translog/les données corrompus avec bin/elasticsearch-shard remove-corrupted-data --index <index> --shard-id <n> (cela perd définitivement les données non encore validées ; l'ancien outil elasticsearch-translog a été supprimé en 7.0). L'outil affiche la commande POST _cluster/reroute (allocate_stale_primary, accept_data_loss: true) nécessaire pour affecter le shard après le redémarrage du nœud. Sauvegardez le répertoire de données avant l'opération. Vérifiez l'état et l'espace libre du disque.
Autres entrées pour ce moteur
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded
- verification_exceptionverification_exception: Found N problem(s) — Unknown column / Unknown index (ES|QL, SQL, EQL) (N problème(s) trouvé(s) — colonne / index inconnu)
- bind_transport_exceptionbind_transport_exception (Address already in use)
- recovery_engine_exceptionrecovery_engine_exception
- snapshot_in_progress_exceptionsnapshot_in_progress_exception
- repository_verification_exceptionrepository_verification_exception
- reduce_search_phase_exceptionreduce_search_phase_exception