📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 7.9-7.1

简要来说,当您尝试在 Elasticsearch 中创建一个系统中已存在的数据流名称时,就会发生此错误。Elasticsearch 不允许数据流使用重复的名称。要解决此问题,如果现有的数据流不再需要,您可以将其删除,或者使用唯一的名称创建新的数据流。另外,如果您想要更新现有的数据流,可以使用更新 API 而不是尝试创建新的数据流。

日志上下文 #

日志 “data_stream [” + request.name + “] already exists” 的类名是 MetadataCreateDataStreamService.java。 我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考:

if (currentState.nodes().getMinNodeVersion().before(Version.V_7_9_0)) {
 throw new IllegalStateException("data streams require minimum node version of " + Version.V_7_9_0);
 }  if (currentState.metadata().dataStreams().containsKey(request.name)) {
 throw new ResourceAlreadyExistsException("data_stream [" + request.name + "] already exists");
 }  MetadataCreateIndexService.validateIndexOrAliasName(request.name,
 (s1, s2) -> new IllegalArgumentException("data_stream [" + s1 + "] " + s2));