Скрипт _update_by_query + работает неправильно , ошибка: попытка создать слишком много контекстов прокрутки
Версия Elasticsearch: 7.6.2
JVM:13.0.2
Версия ОС:centeros7
Это мой код
POST recommend_index/_update_by_query
{
"script": {
"source": "ctx._source.rec_doctor_id = 1"
},
"query": {
"bool": {
"must": [{
"terms": {
"id": ["22222"]
}
}]
}
}
}
Этот код не возвращает результат правильно. Сообщение об ошибке
{
"error": {
"root_cause": [
{
"type": "exception",
"reason": "Trying to create too many scroll contexts. Must be less than or equal to: [5000]. This limit can be set by changing the [search.max_open_scroll_context] setting."
}
],
"type": "search_phase_execution_exception",
"reason": "Partial shards failure",
"phase": "query",
"grouped": true,
"failed_shards": [
{
"shard": 1,
"index": "recommend_index",
"node": "XXX",
"reason": {
"type": "exception",
"reason": "Trying to create too many scroll contexts. Must be less than or equal to: [5000]. This limit can be set by changing the [search.max_open_scroll_context] setting."
}
}
]
},
"status": 500
}
Я уверен, что текущий свиток 0
Когда я заменяю _UPDATE_BY_QUERY на _UPDATE, он обновляется нормально
С прошлой пятницы в ES не было внесено никаких изменений, и внезапно появляется сообщение об ошибке.
Никаких изменений конфигурации ES-сервера не производилось.
1 ответ
продолжение: я установил для параметра search.max_open_scroll_context значение 5000 и не нашел ничего общего с ним. Я просмотрел версию 7.6.2 и обнаружил, что у кого-то была такая же проблема, как и у меня. Ссылка здесь #71354 #56202 Я предполагаю, что это связано с прокруткой, вызывающей ошибку 7.6.2. Я перезапустил узел кластера без обновления и обнаружил, что это сработало !!