Я пытаюсь исправить эту ошибку при запуске delete_by_query
API на AWS ElasticSearch:
Пытаюсь создать слишком много контекстов прокрутки. Должно быть меньше или равно: [500]. Это ограничение можно установить, изменив настройку [search.max_open_scroll_context].
После просмотра нескольких сообщений у меня есть базовое c представление о том, что такое контекст прокрутки, однако я знаю «контексты открытой прокрутки» все еще остаются неясными.
У меня есть несколько вопросов относительно моего понимания:
- Означает ли это, что API откроет контекст прокрутки на указанное время ( scroll = некоторый период) и после обработки (в течение установленного времени прокрутки) открыть новый контекст?
- Если да, остаются ли ранее обработанные контексты открытыми до завершения работы API?
- I иметь 4 java экземпляров EC2, каждый из которых будет выполнять
delete_by_query
API. Может ли это также привести к тому, что слишком много контекстов прокрутки останется открытым? или это не связано?
Пожалуйста, пролейте свет, если чего-то не хватает.
Подходим к исправлению ошибки:
Прямым решением было бы увеличить search.max_open_scroll_context
параметр, однако он имеет отрицательные побочные эффекты, как указано в разделе *1027* документа
Существуют ли другие решения?
- Может увеличиваться размер пакета для справки прокрутки?
Изменить: экземпляры EC2 (2 на востоке-1 и 2 на западе-2) запускают приложение Spring с частотой 1 с (эта частота преднамеренная и не может быть изменен из-за некоторых ограничений), прослушивание SQS (в соответствующих регионах) для сообщений, и delete_by_query
будет использовать действие на эти сообщения (удаление на основе некоторого параметра из полученного сообщения). Примечание. В SQS поступает значительный объем данных.