translog_corrupted_exception: translog_corrupted_exception
Elasticsearch意味
シャードのトランザクションログ (translog) が破損しているため読み取れなかった。リカバリ中に Elasticsearch が translog の整合性チェックの失敗を検出し、シャードを起動できなかった。
原因
translog ファイルは通常、突然の電源喪失、ディスク満杯、ファイルシステムエラー、ハードウェア/ディスク障害、またはデータディレクトリに対する外部操作 (コピー、手動介入) によって破損する。強制シャットダウン (kill -9) 中の部分的に完了した書き込みも原因となる。
対処方法
まずレプリカまたはスナップショットからデータの復旧を試みる。正常なコピーが存在すれば、そこから破損したシャードを再構築するのが最も安全である。他のコピーがなくデータ損失を受け入れる場合は、ノードを停止し、bin/elasticsearch-shard remove-corrupted-data --index <index> --shard-id <n> で破損した translog/データを整理する (これによりまだコミットされていないデータは永久に失われる。旧来の elasticsearch-translog ツールは 7.0 で削除された)。ツールは、ノード再起動後にシャードを割り当てるために必要な POST _cluster/reroute コマンド (allocate_stale_primary、accept_data_loss: true) を出力する。操作前にデータディレクトリをバックアップする。ディスクの健全性と空き容量を確認する。
同じデータベースの他の項目
- 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 件の問題 — 不明な列 / 不明なインデックス)
- 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