Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›Примечания к выпуску

Elasticsearch версия 7.9.0

Также см. Изменения, прерывающие работу в 7.9.

Обновления безопасности

  • В Elasticsearch при выполнении поиска со скроллингом и защитой на уровне поля была обнаружена уязвимость раскрытия поля. Если пользователь выполняет тот же запрос, что недавно выполнил другой пользователь с более высокими привилегиями, поиск со скроллингом может раскрыть поля, которые должны быть скрыты. Это может привести к тому, что злоумышленник получит дополнительные разрешения для ограниченного индекса. Все версии Elasticsearch до 7.9.0 и 6.8.12 подвержены этой уязвимости. Для исправления необходимо обновить до Elasticsearch версии 7.9.0 или 6.8.12. CVE-2020-7019

Известные проблемы

  • Обновление до 7.9.0 с более ранней версии приведет к некорректным отображениям в индексе аннотаций машинного обучения и, возможно, также в конфигурационном индексе машинного обучения. Это приведет к некорректной отображению некоторых страниц в пользовательском интерфейсе машинного обучения и может помешать созданию или обновлению задач машинного обучения. Лучший способ избежать этой проблемы, если вы узнали об этой известной проблеме до обновления, — это вручную обновить отображения в этих индексах в вашей старой версии Elasticsearch *перед* обновлением до 7.9.0. Если вы узнали о проблеме после обновления, необходимо выполнить повторный индексирование для восстановления. Полные сведения о методах устранения находятся в Обновление до 7.9.0 вызывает некорректные отображения.
  • Lucene 8.6.0, на котором основан Elasticsearch 7.9.0, содержит утечку памяти. Эта утечка памяти проявляется в Elasticsearch, когда один документ многократно обновляется с принудительной перезагрузкой. Уровень хранения состояния кластера в Elasticsearch основан на Lucene и использует обновления отдельных документов с принудительной перезагрузкой, что означает, что эта утечка памяти проявляется в Elasticsearch в стандартных условиях. Она также проявляется, когда управляемые пользователем рабочие нагрузки многократно обновляют один документ в индексе с принудительной перезагрузкой. В обоих случаях утечка памяти составляет около 500 байт на обновление, поэтому для заметного влияния на систему требуется некоторое время. Признаками этой утечки памяти являются медленное повышение размера используемой кучи со временем, отказ запросов в реальном прерывателе памяти и, потенциально, ошибки исчерпания памяти. Обходной метод заключается в перезапуске узлов, демонстрирующих эти симптомы. Мы активно сотрудничаем с сообществом Lucene, чтобы выпустить исправление в Lucene 8.6.2 для Elasticsearch 7.9.1, которое устранит эту утечку памяти.
  • SQL: Если в WHERE-оператор содержит как минимум два реляционных оператора, соединенных через AND, из которых один является оператором сравнения (<=, <, >=, >), а другой - оператором неравенства (!=, <>), оба над литералами или сводимыми выражениями, то оператор неравенства будет проигнорирован. Обходной метод заключается в замене оператора неравенства оператором NOT IN.

    Мы исправили эту проблему в Elasticsearch 7.10.1 и более поздних версиях. Более подробную информацию см. в #65488.

  • Снимок и восстановление: Если индекс удален, а кластер одновременно выполняет более одного снимка, существует риск, что один из снимков может никогда не завершиться, а также что некоторые данные фрагмента могут быть потеряны из хранилища, что приведет к отказу будущих операций восстановления. Чтобы устранить эту проблему, установите snapshot.max_concurrent_operations: 1 для предотвращения одновременных операций снимка:

    PUT _cluster/settings
    {
      "persistent" : {
        "snapshot.max_concurrent_operations" : 1
      }
    }

    Эта проблема исправлена в версиях Elasticsearch 7.13.1 и более поздних версиях. Восстановить хранилище после возникновения этой проблемы невозможно, поэтому необходимо восстановить его из резервной копии или очистить хранилище, выполнив DELETE _snapshot/<repository name>/*, или перейти на новое хранилище. Более подробную информацию см. в #73456.

  • Парсинг запроса, когда последний элемент в массиве отфильтрован (например, с использованием _source_includes), завершается ошибкой. Это связано с ошибкой в парсере Jackson. Исправлено в Elasticsearch 8.6.1 (#91456)
  • Устаревшее index.mapper.dynamic-настройка может нарушить работу вашего кластера. Она может быть установлена только с помощью API Обновить настройки индекса. Симптомы включают отказ узлов от запуска или отказ фрагментов от выделения. Не используйте эту настройку в версиях до 7.17.22. Ошибка исправлена в 7.17.22 (номер проблемы: #109160)

Изменения, прерывающие работу

Кэш скриптов
  • Размер кэша скриптов и лимиты скорости зависят от контекста #55753 (номер проблемы: #50152)
API возможностей полей
  • Поля constant_keyword теперь описываются типом семейства keyword, а не constant_keyword #58483 (номер проблемы: #53175)
Ограничение скорости восстановления снимка
  • Восстановление из снимка (определенная форма восстановления) теперь должным образом учитывает ограничение скорости восстановления (т.е. настройку indices.recovery.max_bytes_per_sec). Настройка max_restore_bytes_per_sec теперь по умолчанию устанавливается на неограниченное значение, тогда как ранее она была установлена на 40mb, что является значением по умолчанию, используемым для indices.recovery.max_bytes_per_sec. Это означает, что в кластерах, где настройки восстановления и восстановления не были изменены от значений по умолчанию, изменения в поведении не будут замечены. #58658
Размер очереди пула потоков записи
  • Значение по умолчанию для размера очереди пула потоков WRITE (thread_pool.write.size) увеличено с 200 до 10000. Малый размер очереди (200) вызывал проблемы, когда пользователи хотели отправлять небольшие запросы индексирования с большим количеством клиентов. Добавлен дополнительный механизм обратной связи по памяти с настройкой indexing_pressure.memory.limit. Эта настройка определяет ограничение объема данных, потребляемых активными запросами индексирования. #59263
Висящие индексы
  • Автоматический импорт висящих индексов теперь устарел, отключен по умолчанию и будет удален в Elasticsearch 8.0. См. примечания по миграции. #58176 #58898 (номер проблемы: #48366)

Изменения, прерывающие работу Java

Агрегации
  • Улучшение измерения кардинальности, используемого для построения агрегаций #56533 (номер проблемы: #56487)
Функции/Ввод данных
  • Добавление необязательного параметра описания к процессорам ввода данных. #57906 (номер проблемы: #56000)

Новые функции

Агрегации
  • Добавление агрегации потока скользящих перцентилей #55441 (задача: #49452)
  • Добавление агрегации нормализации #56399 (задача: #51005)
  • Добавление агрегации гистограммы с переменной шириной #42035 (задачи: #9572, #50863)
  • Добавление агрегации вывода прогнозов #58193
  • Ускорение округления интервалов времени вокруг перехода на летнее время (DST) #56371 (задача: #55559)
Гео
  • Переопределение параметра doc_value в модуле Spatial XPack #53286 (задача: #37206)
Машинное обучение
  • Добавление API для обновления аналитики фреймов данных #58302 (задача: #45720)
  • Введение параметра model_plot_config.annotations_enabled для задач обнаружения аномалий #57539 (задача: #55781)
  • Отчет о значительных изменениях моделей обнаружения аномалий в аннотациях результатов #1247, #56342, #56417, #57144, #57278, #57539
Картирование
  • Объединение отображений для шаблонов индексов с возможностью компоновки #58521 (задача: #53101)
  • Поле с подстановкой, оптимизированное для запросов с подстановкой #49993 (задача: #48852)
Поиск
  • Разрешение фильтрации индексов в API возможностей полей #57276 (задача: #56195)

Улучшения

Агрегации
  • Добавлена поддержка числовых диапазонов в качестве ключей #56452 (задача: #56402)
  • Добавлена поддержка выборочного вычисления стандартного отклонения/дисперсии для расширенных статистик #49782 (задача: #49554)
  • Созданы отдельные операции для поиска значимости #57903
  • Увеличено значение search.max_buckets до 65 535 #57042 (задача: #51731)
  • Оптимизированы агрегации date_histograms при переходе через время смены часового пояса #55559
  • Возвращается ясное сообщение об ошибке, если тип агрегации некорректен #58255 (задача: #58146)
  • Экономия памяти при обработке числовых значимых терминов, не находящихся на вершине #56789 (задача: #55873)
  • Экономия памяти, когда auto_date_histogram не находится на вершине #57304 (задача: #56487)
  • Экономия памяти, когда date_histogram не находится на вершине #56921 (задачи: #55873, #56487)
  • Экономия памяти, когда агрегация histogram не находится на вершине #57277
  • Экономия памяти, когда агрегация numeric terms не находится на вершине #55873
  • Экономия памяти, когда родительские и дочерние агрегации не находятся на вершине #57892 (задача: #55873)
  • Экономия памяти, когда rare_terms не находится на вершине #57948 (задача: #55873)
  • Экономия памяти, когда significant_text не находится на вершине #58145 (задача: #55873)
  • Экономия памяти, когда string terms не находится на вершине #57758
  • Ускорение уменьшения auto_date_histo с часовым поясом #57933 (задача: #56124)
  • Ускорение округления в auto_date_histogram #56384 (задача: #55559)
Распределение
  • Учёт оставшегося восстановления в диске-аллокаторе #58029
Анализ
  • Добавление настройки max_token_length в CharGroupTokenizer #56860 (задача: #56676)
  • Разрешение опции discard_compound_token для kuromoji_tokenizer #57421
  • Поддержка нескольких токенов слева в правилах stemmer_override (#56113) #56484 (задача: #56113)
Аутентификация
  • Добавлена поддержка http прокси для OIDC домена #57039 (задача: #53379)
  • Улучшение использования потоков и обработки ошибок для проверки API ключей #58090 (задача: #58088)
  • Поддержка обработки LogoutResponse от SAML idP #56316 (задачи: #40901, #43264)
Авторизация
  • Добавлена кэширование для прав приложений #55836 (задача: #54317)
  • Добавление прав monitor и view_index_metadata к встроенной роли kibana_system #57755
  • Улучшение эффективности кэширования ролей для ролей с API ключами #58156 (задача: #53939)
CCR
  • Разрешить индексам фолловеров переопределять настройки лидера #58103
CRUD
  • Повторная попытка неудачной репликации из-за временных ошибок #55633
Двигатель
  • Не регистрировать ошибку RetentionLeaseSync обработчика после удаления индекса #58098 (задача: #57864)
Функции/Потоки данных
  • Добавлена поддержка создания моментальных снимков и восстановления для потоков данных #57675 (задачи: #53100, #57127)
  • Валидация создания потоков данных разрешает использование префиксных индексов #57750 (задача: #53100)
  • Запрещено удаление составного шаблона, если он используется потоком данных #57957 (задача: #57004)
  • Проверка операций с псевдонимами, которые не нацелены на потоки данных #58327 (задача: #53100)
Функции/ILM+SLM
  • Добавлена поддержка потоков данных к действию searchable snapshot #57873 (задача: #53100)
  • Добавлена поддержка потоков данных к действию shrink #57616 (задача: #53100)
  • Добавлена поддержка перекатки потоков данных #57295 (задачи: #53100, #53488)
  • Проверка, что управляемый индекс не является индексом записи потока данных #58239 (задача: #53100)
Функции/API индексов
  • Добавить шаблонные составные шаблоны для новой стратегии индексирования #57629 (проблема: #56709)
  • Добавить API блока индекса #58094
  • Добавить новый флаг для проверки наличия алиаса при удалении #58100
  • Добавить параметр prefer_v2_templates для переиндексации #56253 (проблема: #53101)
  • Добавить API моделирования шаблонов для моделирования композиции шаблонов #56842 (проблемы: #53101, #55686, #56255, #56390)
Функции/Ingest
  • Добавить параметр ignore_empty_value в процессор ingest #57030 (проблема: #54783)
  • Поддержка if_seq_no и if_primary_term для ingest #55430 (проблема: #41255)
Функции/Java High Level REST Клиент
  • Добавить поддержку потоков данных #58106 (проблема: #53100)
  • Включить распаковку ответа в LowLevelRestClient #55413 (проблемы: #24349, #53555)
Функции/Java Low Level REST Клиент
  • Добавить метод isRunning в RestClient #57973 (проблема: #42133)
  • Добавить поддержку RequestConfig в RequestOptions #57972
Инфра/Разрывы цепи
  • Улучшение реального разрыва цепи памяти с G1 GC #58674 (проблема: #57202)
Инфра/Ядро
  • Введение параметра node.roles #54998
Инфра/Упаковка
  • Удаление логирования уровня DEBUG из действий в Docker #57389 (проблемы: #51198, #51459)
Инфра/Плагины
  • Улучшенный ExtensiblePlugin #58234
Инфра/Устойчивость
  • Добавлена устойчивость к файловым системам только для чтения #45286 #52680 (проблема: #45286)
Машинное обучение
  • Учет размера модели, когда модели не кэшируются. #58670
  • Добавляет новый флаг for_export к API GET _ml/inference #57351
  • Добавляет обнаружение геометрии WKT в find_file_structure #57014 (проблема: #56967)
  • Вычисление пропусков кэша для вывода и возвращение в статистику #58252
  • Удаление автоматически сгенерированных аннотаций при удалении задания. #58169 (проблема: #57976)
  • Удаление автоматически сгенерированных аннотаций при откате моментальной снимки модели #58240 (проблема: #57982)
  • Удаление устаревших данных по заданию #57337
  • Введение поля Annotation.event #57144 (проблема: #55781)
  • Добавить поддержку больших прогнозов в памяти через параметр max_model_memory #1238, #57254
  • Не терять точность при сохранении состояния модели #1274
  • Параллелизация вычисления важности признаков для классификации и регрессии над деревьями #1277
  • Добавить возможность выполнения категоризации независимо для каждого раздела #1293, #1318, #1356, #57683
  • Объем памяти сообщается во время инициализации задания #1294
  • Более реалистичная оценка памяти для классификации и регрессии означает, что для этих анализов потребуются более низкие ограничения памяти, чем раньше #1298
  • Точка восстановления состояния для эффективного failover во время грубого поиска параметров для классификации и регрессии #1300
  • Улучшение шаблонов доступа к данным для ускорения классификации и регрессии #1312
  • Улучшение производительности для классификации и регрессии, особенно при многопоточном выполнении #1317
  • Улучшение времени выполнения и использования памяти при обучении глубоких деревьев для классификации и регрессии #1340
  • Улучшение обработки больших определений моделей для вывода #1349
  • Добавление поля peak_model_bytes в model_size_stats #1389
Картирование
  • Добавить поддержку запросов regex к полю wildcard #55548 (проблема: #54725)
  • Сделать keyword семейством типов полей #58315 (проблема: #53175)
  • Сохранить обработанные параметры сопоставления в IndexSettings #57492 (проблема: #57395)
  • Поле wildcard - добавить поддержку пользовательских нулевых значений #57047
Сеть
  • Установите количество транспортных потоков равным количеству доступных процессоров #56488
  • Поделите циклы событий Netty между транспортом #46346
Восстановление
  • Реализуйте API висячих индексов #50920 (проблема: #48366)
  • Восстановите взаимодействие после сетевых ошибок #55274
  • Одновременная отправка операций при восстановлении узла #58018 (проблема: #58011)
Переиндексация
  • Выбросить исключение illegal_argument_exception, когда max_docs меньше slices #54901 (проблема: #52786)
SQL
  • Реализуйте функцию TIME_PARSE для преобразования строк в значения TIME #55223 (проблемы: #54963, #55095)
  • Реализуйте TOP в качестве альтернативы LIMIT #57428 (проблема: #41195)
  • Реализуйте функцию TRIM #57518 (проблема: #41195)
  • Улучшить производительность LTRIM/RTRIM #57603 (проблема: #57594)
  • Сделать преобразование строки в DATETIME более гибким #57451
  • Скрыть учётные данные в исключениях подключения #58650 (проблема: #56474)
  • Сделать разбор символов даты/времени более гибким #58336 (проблема: #58262)
  • Добавить поддержку скаляров в LIKE/RLIKE #56495 (проблема: #55058)
Поиск
  • Добавить описание для отправки и получения асинхронного поиска, а также для отмены задач #57745
  • Добавить статический метод matchBoolPrefix в билдерах запросов #58637 (проблема: #58388)
  • Добавить поддержку запросов по диапазонам к полю с подстановкой #57881 (проблема: #57816)
  • Группировать docIds по сегментам в FetchPhase для лучшего использования кэша LRU #57273
  • Улучшить обработку ошибок при декодировании идентификаторов асинхронного выполнения #56285
  • Указать причину отмены асинхронного поиска #57761
  • Применяйте запрос по диапазону сортировки индекса по возможности #56657 (проблема: #48665)
Безопасность
  • Добавить разрешения на машинное обучение к роли kibana_system #58061
  • Просто записывать 401 трассировки стека #55774
Снимок/Восстановление
  • Устранить дублирование метаданных индекса в BlobStore #50278 (проблемы: #45736, #46250, #49800)
  • По умолчанию устанавливать 0 реплик для поисковых снимков #57802 (проблема: #50999)
  • Разрешить полностью одновременные операции снимков #56911
  • Поддержка клонирования поисковых снимков индексов #56595
  • Отслеживать вызовы API GET/LIST Azure Storage #56773
  • Отслеживать вызовы API GET/LIST GoogleCloudStorage #56585
  • Отслеживать операции PUT/PUT_BLOCK на AzureBlobStore #56936
  • Отслеживать вызовы API multipart/resumable uploads GCS #56821
  • Отслеживать запросы загрузки в хранилищах S3 #56826
Управление задачами
  • Добавить имя индекса в задачу обновления сопоставления #57598
  • Отменить задачу и потомков при разрыве канала #56620 (проблемы: #56327, #56619)
Преобразование
  • Добавить поддержку агрегаций terms в преобразованиях #56696
  • Добавить поддержку geotile_grid в group_by #56514 (проблема: #56121)

Исправления ошибок

Агрегации
  • Исправить интервал авто-датированной гистограммы #56252 (проблема: #56116)
  • Исправить ошибку округления интервала быстрее #56433 (проблема: #56400)
  • Исправить ошибку агрегаторов родительских и дочерних элементов при отсутствии родительского поля #57089 (проблема: #42997)
  • Исправить отсутствие нулевых значений для std_deviation_bounds в статистических агрегациях ext #58000
Распределение
  • Перефразировать сообщение INDEX_READ_ONLY_ALLOW_DELETE_BLOCK #58410 (проблемы: #42559, #50166, #58376)
Аутентификация
  • Сопоставить только определённый тип OIDC-утверждений #58524
Авторизация
  • Изменить привилегии API enrich stats на мониторинг #52027 (проблема: #51677)
Двигатель
  • Исправить восстановление локального журнала транзакций, не обновляющее безопасную фиксацию в крайнем случае #57350 (проблема: #57010)
  • Скрыть AlreadyClosedException при освобождении IndexCommit #57986 (проблема: #57797)
Функции/ILM+SLM
  • Нормализованный префикс для API rollover #57271 (проблема: #53388)
Функции/API индексов
  • Не разрешать недопустимые комбинации шаблонов #56397 (проблемы: #53101, #56314)
  • Обрабатывать cluster.max_shards_per_node в конфигурации YAML #57234 (проблема: #40803)
Функции/Обработка данных
  • Исправить подробную информацию о моделировании ingest при сбое с условным выражением #56478 (проблема: #56004)
Гео
  • Проверка вырожденных линий при вычислении центра масс #58027 (проблема: #55851)
  • Исправить ошибку проверки разрыва цепи для агрегаций гео-сетки #57962 (проблема: #57847)
Инфраструктура/Сценарии
  • Исправить ошибку возврата источника в сценариях #56831 (проблема: #52103)
Машинное обучение
  • Исправить сериализацию по проводам для подтверждений обработки #58413
  • Сделать ожидание перенормирования необязательным для внутренней обработки задания #58537 (проблема: #58395)
  • Последовательно читать в лог C++ перед подключением других каналов #56632 (проблема: #56366)
  • Исправить числовые проблемы, приводящие к взрыву границ модели графика #1268
  • Исправить причины для инвертированных границ доверительного интервала прогноза #1369 (проблема: #1357)
  • Ограничить рост максимальной длины совпадающей строки для категорий #1406
Сопоставление
  • Исправление поля wildcard для скриптов - изменение типа значения с BytesRef на String #58060 (проблема: #58044)
SQL
  • Добавить JDBC-опцию для экранирования мета-шаблонов #40661 (проблема: #40640)
Поиск
  • Не пропускать пустые массивы при фильтрации _source #56527 (проблемы: #20736, #22593, #23796)
  • Исправить преобразование scaled_float в сортировках #57207
Снапшот/Восстановление
  • Учитывать ограничение восстановления при восстановлении снимка #58658 (проблема: #57023)
  • Исправить шумные логи при удалении снимка #56264
  • Исправить утечку S3ClientSettings #56703 (проблема: #56702)

Модернизация

Поиск
  • Обновить до lucene snapshot e7c625430ed #57981

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/release-notes-7.9.0.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API