原子别名交换在完全不相关的索引上失败并出现 index_not_found_exception

2024-02-23

我想以零停机时间进行替换和索引,如中所述ES 文档 https://www.elastic.co/guide/en/elasticsearch/guide/current/index-aliases.html.

我这样做是通过:

  • 创建一个新索引my_index_v2与新数据
  • 刷新新索引
  • 然后通过执行以下请求以原子操作交换它们:

POST /_aliases

{
    "actions": [
        { "remove": { "index": "*", "alias": "my_index" }},
        { "add":    { "index": "my_index_v2", "alias": "my_index" }}
    ]
}

这按预期工作,除非它随机失败并返回 404 响应。错误信息是:

{
   "error": {
      "root_cause": ... (same)
      "type": "index_not_found_exception",
      "reason": "no such index",
      "resource.type": "index_or_alias",
      "resource.id": "my_unrelated_index_v13",
      "index": "my_unrelated_index_v13"
   },
   "status": 404
}
  • 之后,只有当交换有效时,我们才会删除与此别名关联的现在未使用的索引。

整个操作每隔几分钟定期发生一次。与所描述的操作类似的操作可能会同时在集群中的其他别名/索引上发生。该错误每隔几个小时随机发生一次。

这些操作是否有相互干扰的原因?到底是怎么回事?

EDIT:最后澄清了 DELETE 步骤。


这在本地环境中很难重现,因为它似乎只发生在高度并发的场景中。然而...正如 @Eirini Graonidou 在评论中指出的,这确实看起来像 ES 错误,PR 23153 中已解决 https://github.com/elastic/elasticsearch/pull/23153

来自拉取请求(强调我的):

这要么导致发送错误请求时的令人困惑的响应到 Elasticsearch(如果名为“bad-request”的索引不存在,那么它 产生索引未找到异常,否则以 名为“bad-request”的索引的索引设置)。

这并不能解释“错误请求”的情况,但绝对可以解释为什么错误消息没有意义。

更重要的是:升级elasticsearch解决这个问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原子别名交换在完全不相关的索引上失败并出现 index_not_found_exception 的相关文章

随机推荐

  • 由 __exit__ 中的 __enter__ 返回

    例如 我有这样的代码 with MyClass as x print I have only 0 format x with MyClass as y print I have 0 and 1 format x y print Again
  • SqlExceptionHelper:具有聚集列存储索引的表不支持游标

    我正在尝试从使用聚集列存储索引的 DWH SQL Server 表导入数据kudu通过flume 然而 经过我的习惯flumesource 从数据库检索一定数量的行 出现此异常 SqlExceptionHelper 具有聚集列存储索引的表不
  • 缩放 div 以适合窗口但保持宽高比

    如何缩放 div 以适合浏览器视图端口 但保留 div 的纵横比 我如何使用 CSS 和 或 JQuery 来做到这一点 您不需要为此使用 JavaScript 您可以使用纯CSS padding top 百分比是相对于包含块来解释的wid
  • 投射代理 - 获取 ClassCastException

    当我将动态代理类转换为我想要的对象时 我感到有些奇怪 在运行时 在某些条件下 我收到 ClassCastException 为了更好地解释这一点 这里是我想要使用的类 接口的定义 任何 应该 不相关的扩展接口都用括号括起来 public i
  • 在C中初始化char数组

    我不确定按以下方式初始化后 char 数组中会包含什么 char buf 5 0 这相当于 char buf 5 0 0 0 0 0 是的 是一样的 如果数量较少初始化器比数组中的元素大 那么剩余的元素将被初始化 就像具有静态存储持续时间的
  • 如何在sql server 2008中使用双while循环

    我正在开发一个约会日历应用程序 这里还是新手 我需要这方面的帮助 我需要在列中进行双循环 calendarID Slot Appointment Date slot 列的值将重复为 1 2 3 4 5 6 7 8 到 28 而 calend
  • 分开名字、中间名和姓氏 (Python)

    我有一个包含数百名成员的列表 我想按名字 中间名和姓氏分隔这些成员 但其中一些成员具有前缀 用 P 表示 所有可能的组合 First Middle Last P First Middle Last First P Middle Last P
  • React Native 0.44——堆栈导航器示例

    我正在尝试创建 React Native 应用程序的 Android 版本 但在使用 Android 导航器时遇到问题 下载示例代码 https ufile io lr8x5 首先创建一个文件 例如应用导航 js import StackN
  • 如何将 mat4 数组作为统一传递

    我必须将 mat4 数组作为统一传递给我的顶点着色器 如下所示 在顶点着色器中 uniform mat4 u jointMatrix 2 在我的 C 程序中 我这样做了 glm mat4 jointM 2 I filled jointM w
  • 查询 Android 日历甚至可以检索已删除的事件

    我正在使用下面提到的代码从保存在 Android 本地日历应用程序中的所有日历中检索所有事件 现在 如果我从本机日历中删除某个事件 我的代码仍然会获取并显示该事件 这怎么可能 它是否设置了一些删除标志而不是实际删除事件 Cursor cur
  • C - 使用 select() 时如何限制服务器中的入站连接数

    我对 C 套接字编程还是新手 但我能够创建一些简单的客户端和服务器程序 我正在编写一个监听 TCP 连接的服务器 它的职责是响应客户端的请求 然后在客户端发送特殊的字节序列时 当然 或者当它断开连接时 关闭通信 我开始使用以下代码对服务器进
  • css 规则在 iOS9 上无法正常工作

    我对 iOS9 有一个关于网站 CSS 的问题 css 规则在 Android 和 iOS 8 上运行良好 但在 iOS9 上 网站出现混乱 这就是ios 8和ios 9的区别 可能的问题是什么 我该如何解决这个问题 感谢帮助 css se
  • Dropbox 文件唯一标识符 - RESTful API

    是否存在与 Dropbox 文件关联的唯一标识符 该标识符不会因修订 更改 重命名而更改 并且可以通过 RESTful API 进行访问 我想将它存储在数据库中并跟踪文件上的一些操作 不幸的是 不 Dropbox API 目前不公开任何类型
  • Java中将字符串转换为URL标准字符串

    我有一个字符串 例如 Cerepedia una apliaci n web 我想将其转换为有效的 URL 例如 Cerepedia unaaplicacionweb Note 特殊字符转换和空格删除 顺便问一下 URL 中允许使用逗号吗
  • Ionic:未定义不是构造函数 FileReader

    创建 FileReader 来自 ionic native file 实例时遇到问题 let f new FileReader 出现以下错误 TypeError undefined is not a constructor evaluati
  • 如何列出 Win32.DLL 中的可用方法

    我有一个 DLL 文件 其中包含一些我想在应用程序中调用的有用函数 我不再有它的文档了 如何发现 DLL 导出的函数及其方法签名 是否有列出函数及其参数的实用程序 转储箱 出口 Dumpbin http msdn microsoft com
  • 你能在同一对象的非重叠区域之间进行memcpy吗?

    C17 说以下内容memcpy 7 24 2 1p2 memcpy函数将s2指向的对象中的n个字符复制到指向的对象中 通过 s1 如果复制发生在objects重叠 行为是未定义的 常见的解释是您不能复制重叠的内存区域 但这并不完全相同 因为
  • jQuery UI 对话框不会关闭

    在我的网页上有一个按钮可以打开模式 jQuery 对话框 单击按钮时运行的代码如下 main onoffline container append div div dialog modal a dialog title Add Tags a
  • 如何在 Dreamweaver 中使用 javascript 使元素固定在某个点

    我知道有很多与此类似的问题 但在 Dreamweaver 中似乎没有一个解决方案适合我 任何人都可以提供 JavaScript 代码或我可以轻松插入到 Dreamweaver 文件中的内容吗 我需要应用它的代码如下 div div
  • 原子别名交换在完全不相关的索引上失败并出现 index_not_found_exception

    我想以零停机时间进行替换和索引 如中所述ES 文档 https www elastic co guide en elasticsearch guide current index aliases html 我这样做是通过 创建一个新索引my