elasticsearch config_error ai_generated true

Elasticsearch解析异常:在管道 [my_pipeline] 中检测到循环引用

ElasticsearchParseException: circular reference detected in pipeline [my_pipeline]

ID: elasticsearch/ingest-pipeline-circular-reference

其他格式: JSON · Markdown 中文 · English
88%修复率
85%置信度
1证据数
2023-04-12首次发现

版本兼容性

版本状态引入弃用备注
7.17.0 active
8.5.0 active
8.10.0 active

根因分析

一个摄取管道直接或间接通过其他管道引用自身,创建了Elasticsearch无法解析的无限循环。

English

An ingest pipeline references itself directly or indirectly through other pipelines, creating an infinite loop that Elasticsearch cannot resolve.

generic

官方文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-pipeline-processors.html

解决方案

  1. Use the Cluster State API to manually remove the pipeline definition from the cluster state: PUT /_cluster/state/metadata?pretty and then patch the metadata to delete the circular pipeline entry. Alternatively, use the following curl command to delete the pipeline after clearing the reference: curl -X DELETE 'localhost:9200/_ingest/pipeline/my_pipeline' but ensure no other pipeline references it first.
  2. Temporarily disable the pipeline by setting its version to a negative value via the Cluster Settings API: PUT /_cluster/settings { 'transient': { 'ingest.pipelines.my_pipeline.enabled': false } } and then fix the pipeline definition.

无效尝试

常见但无效的做法:

  1. 95% 失败

    Restarting Elasticsearch nodes does not break the circular pipeline definition; the pipeline configuration persists in the cluster state.

  2. 80% 失败

    Deleting the pipeline by name fails because the circular reference prevents the pipeline from being parsed or removed cleanly.