index_read_only_allow_delete: TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block (旧形式: FORBIDDEN/12/index read-only / allow delete (api))
Elasticsearch意味
index.blocks.read_only_allow_delete が true のため、インデックスは読み取り専用である。新しいドキュメントの書き込みや更新はできず、インデックスの削除のみ可能。通常は、ディスクの flood stage ウォーターマークを超えたときに Elasticsearch が自動で設定する。ES 8.x では書き込み要求に HTTP 429 を返す。
原因
ディスク使用量が flood stage のしきい値を超えたためブロックが自動で設定された、または設定が手動で true にされた。ディスク領域を解放せずにブロックを解除すると、Elasticsearch は再び適用する。
対処方法
十分なディスク領域を解放する。7.4 以降では、自動で設定されたブロックはディスク使用量が high ウォーターマークを下回ると自動で解除される。手動で設定したブロックの場合、または待たずに解除する場合はブロックを削除する: PUT /_all/_settings {"index.blocks.read_only_allow_delete": null}。単一インデックスの場合: PUT /index-name/_settings {"index.blocks.read_only_allow_delete": null}。繰り返し発生する場合はディスク容量を増やし、ILM ポリシーを設定し、_cat/allocation でどのノードが満杯になりつつあるかを監視する。
同じデータベースの他の項目
- cluster_block_exceptionClusterBlockException[blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block]] (7.x より前: FORBIDDEN/12/index read-only / allow delete (api))
- high_disk_watermark_exceededhigh disk watermark [90%] exceeded / flood stage disk watermark [95%] exceeded(ディスクウォーターマークの超過)
- circuit_breaking_exceptionCircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]](データが大きすぎる (サーキットブレーカー))
- mapper_parsing_exceptionmapper_parsing_exception: failed to parse field [...] of type [...](フィールドの解析に失敗)
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed(strict マッピングで新しいフィールドの動的追加は不可)