es_rejected_execution_exception: es_rejected_execution_exception: rejected execution of ... on ... (queue capacity ...) (HTTP 429)(実行が拒否された (キュー容量超過))
Elasticsearch意味
該当スレッドプール (search、write/bulk など) のキュー容量が満杯のため、操作が拒否された。過負荷時、Elasticsearch は要求を拒否して自身を保護し (バックプレッシャー)、HTTP 429 (Too Many Requests) を返す。
原因
非常に多い同時要求、非常に大きい、または非常に頻繁な bulk 要求、重い集計/検索負荷、ノード/CPU リソースの不足、またはワークロードに対して小さすぎるスレッドプールのキュー。
対処方法
クライアント側で指数バックオフにより再試行する。429 は通常一時的である。bulk のバッチサイズと送信レートを減らし、同時実行数を下げる。拒否された操作を監視する: GET _cat/thread_pool?v&h=node_name,name,active,queue,rejected。継続的な負荷にはノード/リソースを追加する (水平スケーリング)。キューサイズの拡大は最後の手段であり、根本原因は容量にある。
同じデータベースの他の項目
- resource_already_exists_exceptionresource_already_exists_exception: index [index_name/uuid] already exists (HTTP 400)(インデックスがすでに存在する)
- cluster_health_redcluster health status: RED / unassigned shards(クラスタの健全性 RED / 未割り当てシャード)
- no_shard_available_action_exceptionno_shard_available_action_exception: No shard available for [...](利用可能なシャードがない)
- master_not_discovered_exceptionmaster_not_discovered_exception / MasterNotDiscoveredException(マスターが見つからない)
- security_exceptionsecurity_exception: unable to authenticate / action [...] is unauthorized for user [...] (HTTP 401/403)(認証/認可の失敗)
- validation_exceptionvalidation_exception / illegal_argument_exception: Validation Failed: ...(検証の失敗)
- task_cancelled_exceptiontask_cancelled_exception: Task was cancelled / TaskCancelledException(タスクが取り消された)