Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Справочные заметки

Elasticsearch версия 8.12.0

См. также Изменения в 8.12.

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

  • int8_hnsw формат векторизованного индекса может не слить сегменты и предотвратить индексирование документов (проблема: #104617)

    При использовании int8_hnsw и по умолчанию confidence_interval (или любого confidence_interval меньше чем 1.0), и при наличии удалённых документов в сегментах, квантили могут не создаться и предотвратить слияние.

    Эта проблема исправлена в 8.12.1.

  • При обновлении кластеров с версии 8.11.4 или более ранних, если ваш кластер содержит узлы, не подходящие для роли мастера, информация о новой функциональности этих обновлённых узлов может не быть должным образом зарегистрирована у узла-мастера. Это может привести к недоступности некоторых новых функций, добавленных с 8.12.0 в обновлённом кластере. Если ваш кластер работает с ECK 2.12.1 и выше, это может вызвать проблемы с завершением обновления. Для решения этой проблемы выполните поэтапную перезагрузку узлов, не подходящих для роли мастера, после того, как все узлы Elasticsearch будут обновлены. Эта проблема исправлена в 8.15.0.

Изменения, приводящие к нарушению совместимости

В версии 8.12 нет изменений, приводящих к нарушению совместимости.

Заметные изменения

В версии 8.12 есть заметные изменения, о которых вам нужно знать, но которые мы не считаем критическими (изменения, которые мы можем рассматривать как заметные, это):

  • Изменения в функциях, которые находятся в техническом предварительном просмотре.
  • Изменения в форматах журналов.
  • Изменения в недоступных API.
  • Изменения в поведении, которые устраняют критические ошибки.

    Авторизация
  • Исправлен JWT-принципал из утверждений #101333

    ES|QL
  • [ES|QL] функция pow всегда возвращает double #102183 (проблема: #99055)

    Infra/Плагины
  • Удаление метода Plugin.createComponents в пользу перегрузки с объектом PluginServices #101457

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

Агрегации
  • Настройка подсчета корзинок гистограммы для итеративного выполнения #102172
  • Коды ошибок агрегаций, часть 1 #99963
  • Пропуск загрузки глобальных порядковых номеров, если запрос не соответствует после переписывания #102844
  • Вызов родительского прерывателя цепи при построении оценщиков в агрегации фильтров #102511
  • Развертывание ExecutionException при загрузке из кэша в AbstractIndexOrdinalsFieldData #102476
Приложение
  • [API подключения] Исправление ошибки с нулевым значением поля подсказки в анализаторе #103427
  • [API подключений] Исправление ClassCastException при создании новой синхронизированной задачи #103508
  • [API подключений] Исправление ошибки с отсутствующим перечислением TEXT DisplayType #103430
  • [API подключений] Правильная обработка нулевых полей в анализаторе ConnectorSyncJob #103183
  • [Профилирование] Параллельный поиск только при необходимости #103061
  • [Приложения поиска] Возврат ответа 400, когда рендеринг шаблона создает некорректный JSON #101474
Аутентификация
  • Обработка некорректных JWT в последующих домене в цепочке #101660 (проблема: #101367)
Авторизация
  • Исправление кеширования при изменении привилегий #102193
Потоки данных
  • Использование размера набора данных вместо размера на диске для статистики потоков данных #103342
Распределённые
  • Исправлено сообщение активных фрагментов для фрагментов поиска #102808 (проблема: #101896)
  • Отправка ClusterStateAction#buildResponse в исполнителя #103435
  • Исправление слушателей в SharedBlobCacheService.readMultiRegions #101727
Дискретизация
  • Копирование свойств счётчика полей в индекс, подвергшийся дискретизации #103580 (проблема: #103569)
  • Исправление API дискретизации, возвращающего ошибку в случае неудачи одной или нескольких задач дискретизации #103615
EQL
  • Покрытие крайних случаев команд head/tail и типов данных #101859 (проблема: #101724)
  • Исправление исключения NPE при отсутствии запросов событий #103611 (проблема: #103608)
  • Примеры должны проверять, является ли результат агрегации пустым или нулевым #103574
ES|QL
  • ESQL: Исправление to_degrees(), возвращающего бесконечность #103209 (проблема: #102987)
  • ESQL: Исправление планирования MV_EXPAND со складываемыми выражениями #101385 (проблема: #101118)
  • ESQL: Исправление редкой ошибки с пустой строкой #102350 (проблема: #101969)
  • ESQL: Исправление разрешения MV_EXPAND после KEEP * #103339 (проблема: #103331)
  • ESQL: Исправление запроса на одно значение #102317 (проблема: #102298)
  • ESQL: Улучшение локального сворачивания агрегатов #103670
  • ESQL: Улучшение спуска определённых фильтров #103671
  • ESQL: Сужение обработки исключений в функциях преобразования #101788 (проблема: #100820)
  • ESQL: Обновление использования некоторых исключений, вызванных пользователем #104046
  • ESQL: удаление параметра запроса time_zone #102767 (проблема: #102159)
  • ES|QL: Исправление NPE при обнаружении одного значения #103150 (проблема: #103141)
  • ES|QL: Улучшение управления ошибками разрешения в mv_expand #102967 (проблема: #102964)
  • Исправление макета для MV_EXPAND #102916 (проблема: #102912)
  • Исправление времени в миллисекундах для контекстов поиска ESQL #103474 (проблема: #103455)
  • Исправление планирования дублирующих агрегатов #102165 (проблема: #102083)
  • Исправление транспортной версии PlanStreamOutput #103758
  • AsyncOperator#isFinished не должно возвращать true при ошибке #104029
Двигатель
  • Исправление lastUnsafeSegmentGenerationForGets для реального получения #101700
Гео
  • Исправление гео-плиточных ограничивающих прямоугольников, чтобы они соответствовали арифметическому методу #100826 (проблемы: #92611, #95574)
ILM+SLM
  • Более эффективный сбор статистики использования уровней данных #102140 (проблема: #100230)
API индексов
  • Исправить шаблон, моделирующий установку порядка приложений #103024 (проблема: #103008)
Infra/Core
  • Версии компонентов кэша #103408 (проблема: #102103)
  • Исправить модель создания метрик-измерителей #100609
Infra/Node Lifecycle
  • Дождаться перемаршрутизации перед подтверждением put-shutdown #103251
Infra/Plugins
  • Сделать имя класса необязательным в транспортном протоколе #99702 (проблема: #98584)
Infra/Scripting
  • Сделать IPAddress изменяемым #101093 (проблема: #101082)
  • Обернуть ошибку объяснения painless #103151 (проблема: #103018)
Infra/Settings
  • Отправлять полный стек-трейс для преобразований настроек файла без состояния #101346
Ingest Node
  • Отправка имени индекса в DocumentParsingObserver, которое никогда не равно null #100862
License
  • Журнал ошибок при локальной проверке лицензии #102919
Machine Learning
  • Перехватывать исключения во время запуска pytorch_inference #103873
  • Исключать квантили при извлечении снимков моделей, где это возможно #103530
  • Исправить агрегацию frequent_item_sets на пустой индекс #103116 (проблема: #103067)
  • Если задача загрузки обученной модели выполняется, подождать ее завершения перед выполнением запуска развертывания обученной модели #102944
  • Сохранить счетчики данных при закрытии задания перед обновлением индекса результатов #101147
  • Сохранить заголовки ответов в предварительном просмотре Datafeed #103923
  • Предотвратить попытки доступа к несуществующей информации о узлах во время перебалансировки #103361
  • Предотвратить чрезмерную подписку на ресурсы в планировщике распределения моделей #100392
  • Запустить новый контекст трассировки перед загрузкой обученной модели #103124
  • Дождаться результатов модели при плавном выключении #103591 (проблема: #103414)
Mapping
  • Вернуть изменения #103865
Monitoring
  • [Мониторинг] Не получать состояние кластера до восстановления #100565
Network
  • Обеспечить правильный threadContext для RemoteClusterNodesAction #101050
Ranking
  • Добавить дополнительный критерий разрыва для RRF #101847 (проблема: #101232)
Reindex
  • Разрешить именование индексов с префиксом при переиндексации из удаленного источника #96968 (проблема: #89120)
Search
  • Добавить исключения JIT-компилятора для computeCommonPrefixLengthAndBuildHistogram #103112
  • Проверить, что скрипты генерируют правильный JSON в действии рендеринга шаблона #101518 (проблема: #101477)
  • Исправить NPE и обработку пустых результатов в CountOnlyQueryPhaseResultConsumer #103203
  • Исправить строку форматирования в OldLuceneVersions #103185
  • Обрабатывать таймауты при вызовах переписывания в автономном режиме #103546
  • Ввести базу Elasticsearch PostingFormat на основе формата позиционирования Lucene 90 с использованием PFOR #103601 (проблема: #103002)
  • Восстановить межсегментную конвейерную обработку поиска с включенным синтетическим источником #103690
  • Поддержка сложных выражений datemath в именах индексов и псевдонимов индексов #100646
Snapshot/Restore
  • Уменьшить счетчик SharedBytes.IO после завершения чтения, а не до #102848
  • Более последовательные сообщения в журнале для удаления снимков #101024
  • Перемаршрутизация при завершении создания снимка фрагмента #101585 (проблема: #101514)
  • Восстановить подсчет ссылок SharedBytes.IO при чтении и записи #102843
TSDB
  • Выбросить исключение при обертке агрегации rates в DeferableBucketAggregator #101032
Transform
  • Добавить утверждение в тестовый случай testTransformFeatureReset #100287
  • Рассматривать исключения отсутствия контекста поиска как восстанавливаемые #102602
  • Рассматривать исключения отмены задачи как восстанавливаемые #100828
  • Исправить NPE, который выбрасывается API _update #104051 (проблема: #104048)
  • Вести журнал стека вызовов вместе с сообщением в журнале для помощи в отладке #101607
  • Разделить строки исходных индексов, разделенных запятыми, на отдельные индексы #102811 (проблема: #99564)
Поиск по векторам
  • Запретить векторы, модули которых не поместятся в float #100519
Watcher
  • Правильное протоколирование ошибок записи истории Watcher #101802
  • Исправление: API Watcher REST GET /_watcher/settings теперь включает заголовок продукта #103003 (проблема: #102928)

Улучшения

Агрегации
  • Проверить реальный разрыв прерывателя памяти при построении глобальных порядковых номеров #102462
  • Отключить конкурентность для отбора проб и отбора проб с разнообразием #102832
  • Отключить параллелизм для составной агрегации по полям с высокой кардинальностью #102644
  • Включить конкурентность для агрегации по нескольким терминам #102710
  • Включить конкурентность для агрегации метрик на основе скриптов #102461
  • Включить межсегментную конкурентность для агрегаций по терминам #101390
  • Экспортировать количество срабатываний прерывателя как метрику счётчика #101423
  • Ввести ttl кэша данных поля #102682
  • Коды состояния для ошибок агрегации, часть 2 #100368
  • Поддержка ключевых гистограмм #101826 (проблема: #100242)
Распределение
  • Добавить больше желаемых статистических данных о балансе #102065
  • Добавить количество фрагментов нежелаемых фрагментов #101426
  • Предоставить метрики примирения через APM #102244
Приложение
  • Рассчитать CO2, выбросы и затраты #101979
  • Учесть дублирующие стеки вызовов в пользовательском индексе #102292
  • Включить универсальный профилирование как функцию Enterprise #100333
  • Включить итоги в ответ flamegraph #101126
  • Получить события стека вызовов из пользовательского индекса #102020
  • [Профилирование] Рано уведомлять о отмене задачи #102740
  • [Профилирование] Сообщить в API состояния, если документы существуют #102735
Аутентификация
  • Добавить сопоставления метаданных пользователя ldap для полного имени и электронной почты #102925
  • Добавить привилегию manage_enrich кластера для роли kibana_system #101682
Авторизация
  • Удалить привилегию auto_configure для профилирования #101026
  • Использовать BulkRequest для хранения привилегий приложения #102056
  • Использовать не устаревший URL обратного вызова SAML в тестах SAML smoketests #99983 (проблема: #99986)
  • Использовать не устаревший URL обратного вызова SAML в тестах #99983 (проблема: #99985)
CAT API
  • По умолчанию показывать роли в API cat allocation #101753
CRUD
  • Кэшировать разрешенный индекс для mgets #101311
Потоки данных
  • Ввести новый конечный пункт для отображения статистики жизненного цикла потоков данных #101845
  • Переключить потоки данных журналов на поиск всех полей по умолчанию #102456 (проблема: #99872)
Распределённый
  • Добавить поддержку настройки схемы прокси в настройках клиента S3 и плагине обнаружения EC2 #102495 (проблема: #101873)
  • Ввести StreamOutput, который подсчитывает количество байтов, записанных в поток #102906
  • Отправить счёт запросов s3 через API метрик #100383
  • Записывать назначение операции для сбора статистики s3 #100236
EQL
  • Добавить ведение журнала ошибок для *QL #101057
  • Использовать фильтр запроса eql для запроса open-pit #103212
ES|QL
  • ESQL: Добавить опцию profile #102713
  • ESQL: Изменить псевдонимы дублированных агрегаций в статистике #100642 (проблема: #100544)
  • ESQL: Загружать несколько полей одновременно #102192
  • ESQL: Последовательная загрузка сохранённых полей #102727
  • ESQL: Загрузка текстового поля из родительского поля типа keyword #102490 (проблема: #102473)
  • ESQL: Сделать блоки ссылочно-счётными #100408
  • ESQL: Сделать вызовы fieldcaps менее ресурсоёмкими #102510 (проблемы: #101763, #102393)
  • ESQL: Больше отслеживания в BlockHash реализациях #101488
  • ESQL: Новые команды телеметрии #102937
  • ESQL: Общий доступ к блокам постоянной null ссылки #102673
  • ESQL: Краткое замыкание загрузки пустых doc values #102434
  • ESQL: Поддержка поля метаданных _source #102391
  • ESQL: Отслеживание блоков, выпущенных из lucene #101396
  • ESQL: Отслеживание памяти, загруженной из lucene #101383
  • Быстрый путь для чтения одного документа с порядковыми номерами #102902
  • Введение локального фабричного блока #102901
  • Загрузка другим способом #101235
  • Отслеживание памяти ESQL enrich #102184
  • Отслеживание блоков в AsyncOperator #102188
  • Отслеживание блоков промежуточного состояния агрегаций #102562
  • Отслеживание блоков при хэшировании одиночного многозначного поля #102612
  • Отслеживание страниц в запросе/ответе ESQL enrich #102190
Двигатель
  • Добавить статические настройки узла для установки значений по умолчанию для максимального размера объединённых сегментов #102208
Geo
  • Добавить динамическое поле типа geo_shape #100492 (проблема: #61299)
Здоровье
  • Добавить поле сообщения в HealthPeriodicLogger и S3RequestRetryStats #101989
  • Добавить имена индикаторов, отличных от зелёного, в сообщение HealthPeriodicLogger #102245
ILM+SLM
  • API отчёта о состоянии не должен возвращать значение RED для неназначенных холодных/замороженных фрагментов, когда данные доступны #100776
  • Изменить встроенные политики ILM флота на использование .actions.rollover.max_primary_shard_size #99984 (проблема: #99983)
API индексов
  • Добавить выполненные конвейеры в ответ на API массового обновления #100031
  • Добавить возможность помечать шаблоны компонентов как устаревшие #101148 (проблема: #100992)
  • Разрешить обновление настроек индекса, не зависящих от динамики, автоматически через отключение фрагментов #101723
  • Переименовать шаблоны компонентов и конвейеры в соответствии с новыми правилами именования #99975
  • Запуск TransportGetAliasesAction на локальном узле #101815
Infra/CLI
  • Установить ActiveProcessorCount, когда установлено node.processors #101846
Infra/Core
  • Добавить API apm для асинхронных счётчиков (всегда увеличиваются) #102598
  • Вести логи ошибок в RestResponse независимо от параметра error_trace #101066 (проблема: #100884)
Infra/Logging
  • Добавить код состояния в журнал вывода rest.suppressed #100990
Узел Ingest
  • Устареть неиспользуемое поле elasticsearch_version в JSON политике обогащения #103013
  • Оптимизировать MurmurHash3 #101202
Машинное обучение
  • Принимать один или несколько входов для _inference #102075
  • Добавить базовые данные телеметрии для функции вывода #102877
  • Добавить внутреннее действие вывода для ML моделей и сервисов #102731
  • Добавить опцию префиксных строк к обученным моделям #102089
  • Более точно оценивать память, необходимую для развертывания обученных моделей #98874
  • Повысить стабильность обнаружения пиков и спадов для агрегации точек изменения #102637
  • Включить пределы процессора ML в ответ _ml/info #101392
  • Чтение оценок из загруженного словаря для токенизаторов XLM Roberta #101868
  • Поддержка получения всех моделей и по типу задачи в API _inference #102806
Картирование
  • Улучшить сообщение журнала перезагрузки анализатора #102273
Мониторинг
  • Добавить метрику использования памяти Kibana в шаблоны индексов мониторинга #102810
  • Добавлено beat.stats.libbeat.pipeline.queue.max_events #102570
Сеть
  • Запись более подробных статистических данных HTTP #99852
Поиск
  • Добавить метрики в кэш общих блоков #101577
  • Добавить поддержку сербского языкового анализатора #100921
  • Добавить поддержку index_filter в открытые карьеры #102388 (задача: #99740)
  • Добавлена метрика для удаления элементов кэша с ненулевой частотой #100570
  • Отключить межсегментную конкурентность при сортировке по полю #101535
  • Включить параллелизм фазы запросов внутри одного фрагмента #101230 (задача: #80693)
  • Статистика узлов как метрики #102248
  • Оптимизировать _count типы запросов API #102888
Безопасность
  • Опубликовать поле invalidation в API Get/Query ApiKey #102472
  • Сделать api_key.delete.interval динамическим параметром #102680
Снимок/Восстановление
  • Отказ от анализа репозитория S3 при частичном чтении #102840
  • Параллельное удаление устаревших индексов #100316 (задача: #61513)
  • Анализ репозитория поведения неконфликтных регистров #101185
  • Анализ репозитория: разрешить настройку операций с регистрами #102051
  • Анализ репозитория: проверить пустой регистр #102048
Статистика
  • Введение includeShardsStats в запросе статистики для указания того, что мы получаем только сводку #100466 (задача: #99744)
  • Установка includeShardsStats = false в NodesStatsRequest, когда вызывающая сторона не использует статистику на уровне фрагментов #100938
Хранилище
  • Добавить методы для добавления слушателей генерации с первичным термином #100899
  • Разрешить выполнение нескольких периодических сбросов, пока они делают их долговременными #102571
  • Передать первичный термин фрагмента в Engine#addSegmentGenerationListener #99752
Преобразование
  • Реализовать экспоненциальную задержку для повторных попыток сохранения состояния преобразования #102512 (задача: #102528)
  • Разрешить таймауты задач, вычисляющих контрольные точки #101055
  • Передать исходный запрос в _field_caps (как index_filter) при выводе сопоставлений целевого индекса для лучшей производительности #102379
  • Передать исходный запрос преобразования как index_filter в запрос open_point_in_time #102447 (задача: #101049)
  • Пропустить фрагменты, которые не соответствуют исходному запросу во время создания контрольных точек #102138
Поиск векторов
  • Добавить vector_operation_count в вывод профиля для поисков knn #102032
  • Ускорить косинусное сходство, сохраняя величину и нормализуя векторы #99445

Новые возможности

Приложение
  • Включить API коннекторов в качестве технического предварительного просмотра #102994
  • [Анализ поведения] Коллекции аналитики используют жизненный цикл потоков данных (DSL) вместо управления жизненным циклом индексов (ILM) для управления удержанием данных. Аналитика поведения традиционно использовала ILM для управления удержанием данных. Начиная с 8.12.0, это изменится. Коллекции аналитики, созданные до 8.12.0, по-прежнему будут использовать свои существующие политики ILM, но новые коллекции аналитики будут управляться с помощью DSL. #100033
Аутентификация
  • Поддержка шаблонов для разрешенных субъектов по JWT-домену #102426
Координация кластера
  • Добавить барьер присоединения узла функции. Это предотвращает присоединение узлов к кластерам, не имеющим всех функций, уже присутствующих в кластере. Это гарантирует, что как только функция поддерживается всеми узлами в кластере, эта функция никогда больше не будет недоступна в будущем. Это соответствующая функциональность для барьера присоединения версии, но для функций #101609
Потоки данных
  • Добавить возможность создания хранилища сбоев потока данных #99134
ES|QL
  • ESQL: генерировать предупреждения от функций с одиночным значением, обрабатывающих значения нескольких элементов #102417 (задача: #98743)
  • Поддержка типов GEO_POINT и CARTESIAN_POINT #102177
Инфраструктура/Ядро
  • Создать новый API состояния кластера для запроса функций, присутствующих в кластере #100974
Узел Ingest
  • Добавление API имитации ingest #101409
Безопасность
  • Разрешить выдачу API-ключа с JWT в качестве access_token #101904
Поиск векторов
  • Добавить байтовую квантизацию для векторов с плавающей точкой в HNSW #102093
  • Сделать поиск knn запросом #98916

Регрессии

Infra/Core
  • Вернуть несемантические NodeInfo #102636

Обновления

Поиск
  • Обновить до Lucene 9.9.1 #103549

© 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/8.17/release-notes-8.12.0.html

Spec-Zone.ru

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