ElasticSearch - 按查询删除 - 滚动上下文过多异常

问题描述 投票:0回答:1

我们使用的是Elastic Search 7.6.1,在消费者中,我们从主题/队列消费弹性操作批量消息,并在ES中相应地进行弹性搜索更新,我们碰巧在ES中通过查询操作执行删除序列(使用Spring数据客户端ElasticsearchRepository .deleteAllByIdIn )按顺序(由单个消费者)

我们遇到异常:

Trying to create too many scroll contexts. Must be less than or equal to: [500]

我浏览了 ES 文档,它说“通过查询删除使用滚动搜索”并且滚动活动时间默认为 10 分钟

为什么默认10分钟?如此高的价值的原因是什么?有没有办法使用 ElasticsearchRepository 将此值设置为低值(例如 5 秒)?如果我将其设置得很低,会有什么问题/影响?还有,有没有办法在删除 API 成功后立即清除滚动?

注意:我们不打算将最大滚动上下文从 500 增加到更高的值,因为这会产生后果。

我浏览了很多帖子但找不到答案。所以把它发布在这里。

elasticsearch spring-data-elasticsearch
1个回答
0
投票

这是一个elasticsearch bug。 7.7.0及以上版本已修复。因此,您需要升级elasticsearch才能解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.