DBAtlas · Atlas de operaciones de bases de datos

translog_corrupted_exception: translog_corrupted_exception

Elasticsearch

¿Qué significa?

No se pudo leer el log de transacciones (translog) de un shard porque está corrupto. Durante la recuperación, Elasticsearch detectó que el translog no superó su comprobación de integridad, y el shard no pudo arrancar.

¿Por qué ocurre?

Los archivos de translog suelen corromperse por un corte de energía repentino, un disco lleno, un error del sistema de archivos, un fallo de hardware/disco u operaciones externas sobre el directorio de datos (copia, intervención manual). Las escrituras parcialmente completadas durante un apagado forzado (kill -9) también pueden provocarlo.

Cómo solucionarlo

Intente primero recuperar los datos desde una réplica o un snapshot; si existe una copia sana, reconstruir el shard corrupto a partir de ella es el camino más seguro. Si no existe otra copia y acepta la pérdida de datos, detenga el nodo y limpie el translog/los datos corruptos con bin/elasticsearch-shard remove-corrupted-data --index <index> --shard-id <n> (esto pierde de forma permanente los datos aún no confirmados; la antigua herramienta elasticsearch-translog se eliminó en 7.0). La herramienta imprime el comando POST _cluster/reroute (allocate_stale_primary, accept_data_loss: true) necesario para asignar el shard tras reiniciar el nodo. Haga backup del directorio de datos antes de la operación. Revise el estado del disco y el espacio libre.

Abrir en DBAtlas →

Más entradas de este motor