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

Elasticsearch версия 8.7.0

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

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

  • Перебалансировка фрагментов может временно нарушить баланс кластера

    Начиная с 8.6.0, алгоритм перебалансировки фрагментов по умолчанию вычисляет конечное желаемое состояние баланса, а затем перемещает фрагменты, чтобы согласовать текущее состояние кластера с желаемым. Однако порядок перемещения фрагментов может быть смещён в сторону определённых узлов, что приводит к временному дисбалансу кластера во время согласования. Как всегда, после того, как узел достигнет порогового значения дискового пространства, он не будет принимать дополнительные фрагменты, но этот сдвиг может привести к тому, что узлы достигают своих пороговых значений дискового пространства чаще, чем ожидалось в обычной работе. После завершения процесса согласования кластер будет сбалансирован снова.

    Чтобы избежать этой проблемы, обновитесь до 8.8.0 или более поздней версии.

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

Узел Ingest
  • Усиление JsonProcessor, чтобы данные не отбрасывались неявно #93179 (проблема: #92898)
API индексов
  • Реализация API разрешения индекса была адаптирована для использования того же механизма разрешения индексов, что и другие аналогичные API, добавив поддержку флагов ignore_unavailable и allow_no_indices, а также мета-индекса _all. Если соответствующих индексов нет, то более ранние версии этого API возвращали пустой результат с кодом HTTP-ответа 200 OK, но начиная с версии 8.7.0 по умолчанию возвращается ответ IndexNotFoundException с кодом HTTP-ответа 404 Not Found. Чтобы восстановить старое поведение, добавьте параметр запроса ?ignore_unavailable=true (#92820).

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

Агрегации
  • Не создавать новый DoubleHistogram экземпляр для пустых бакетов #92547
  • Исправление: не допускать типов ключей map, отличных от String #88686 (проблема: #66057)
Распределение
  • Вернуться к фактическому размеру фрагмента при отсутствии прогноза #93461
  • Пропустить DiskThresholdMonitor, когда состояние кластера не восстановлено #93699
  • Скрыть заголовки ответов в AllocationActionMultiListener #93777 (проблема: #93773)
Аутентификация
  • Правильно удалить домен из области при переписывании Authentication для совместимости с версиями узлов, не поддерживающими домены #93276
Авторизация
  • Исправить разрешитель выражений безопасности, чтобы не удалять недоступные, но авторизованные имена #92625
CCR
  • Удалить дублирование запросов CS репозитория CCR #91398
CRUD
  • Избежать NPE в бессостоятельном Get/mGet #94164
  • Не обновлять все индексы в TransportBulkAction #93417
Координация кластера
  • Отложить уведомления о сбоях задач мастера до коммита #92693 (проблема: #92677)
Потоки данных
  • Разрешить разные фильтры для каждого DataStream в DataStreamAlias #92692 (проблема: #92050)
Гео
  • Сформировать имя квалифицированного индекса в поиске векторной плитки между кластерами #94574 (проблема: #94557)
  • Проверить пределы GeohexGrid на geopoint, используя сферические координаты #92460
  • Исправить ошибку при обрезке Geometry collections в векторных плитках #93562
Состояние
  • Учитывать max_headroom при расчетах пороговых значений диска #93157 (проблема: #93155)
ILM+SLM
  • Разрешить переход шага ILM в конечную фазу #91754
  • Избежать тупика BulkProcessor в ILMHistoryStore #91238 (проблемы: #68468, #50440)
  • Исправлено: изменение только флага forceMerge в SearchableSnapshotAction не обновляло политику #93847
  • Предотвращение сохранения временного состояния ILM и SLM в снимке #92252
Infra/CLI
  • Восстановить вывод проверок начальной загрузки как ошибок #93178 (проблема: #93074)
Infra/Core
  • Добавить разрешение jdk.internal.reflect в код базы es #92387 (проблема: #92356)
  • Добавить проверки на циклы исключений только через подавленные исключения #93944 (проблема: #93943)
  • Обеспечить освобождение делегатов оберток одноразового использования #92928
  • Исправить InputStream#readAllBytes на InputStreamIndexInput #92680
  • Исправить разрешитель индексов для datemath с двоеточием #92973
  • Сделать FilterStreamInput менее сложным #92422
Infra/Плагины
  • Обеспечить порядок инициализации плагинов #93882 (проблема: #93851)
  • Исправить не закрытый поток каталога в ClassReaders #92890 (проблема: #92866)
  • Обновить версию asm, используемую сканером плагинов #92784 (проблема: #92782)
Infra/REST API
  • [Совместимость Rest API] Отформатировать тип носителя ответа с параметрами #92695
Infra/Сценарии
  • Исправить NPE при вызове метода для типа массива #91713 (проблема: #87562)
Infra/Настройки
  • Исправить ошибки парсинга для настроек оператора ILM #94477 (проблема: #94465)
Узел Ingest
  • Лучшие имена и типы для статистики обработки данных #93533 (вопрос: #80763)
  • Правильное обращение с исключительной ситуацией сбоя обработки данных #92455
  • Отключение протоколирования прикреплённых данных #93878
  • Загрузка баз данных geoip только по мере необходимости #92335 (вопрос: #90673)
  • Перенаправление имитационных вызовов на узлы обработки данных #92171
  • Grok возвращает список совпадений для повторяющихся имён шаблонов #92092 #92586 (вопрос: #92092)
  • Обработка по умолчанию/запрошенной и конечной конвейерной линии с минимальными дополнительными расходами #93329 (вопросы: #92843, #81244, #93118)
  • Версии зависимостей модуля ingest-attachment от Tika #93755
  • Более точная общая статистика обработки данных #91730 (вопрос: #91358)
  • Ускорение процессоров geoip обработки данных #92372
  • Ускорение процессоров set и append обработки данных #92395
Машинное обучение
  • Распределение обученных моделей, если атрибуты осознания зоны не заданы #94128 (вопрос: #94123)
  • Исправление гонки данных при подсчёте, при запуске потока данных #93324 (вопрос: #93298)
  • Исправление ошибки токенизации при обработке нормализации в BERT и MPNet #92329
  • Правильное освобождение ресурсов при отмене загрузки модели #92204
  • Остановка агрегации frequent_items, сообщая о подмножестве, когда супермножество существует #92239
  • Использование длительного таймаута вывода на стадии обработки данных #93731
Картирование
  • Исправление обнаружения динамического картирования для некорректных дат #94115 (вопрос: #93888)
  • Отсутствие проверки длины для полей только источника типа keyword #93299 (вопрос: #9304)
Сеть
  • Задержка Connection#onRemoved при ожидании #92546
  • Исправление начала рукопожатия fransport перед завершением рукопожатия tls #90534 (вопрос: #77999)
  • Защита NodeConnectionsService от устаревших соединений #92558 (вопрос: #92029)
Восстановление
  • Отключение монитора восстановления перед началом восстановления #93551 (вопрос: #93542)
  • Исправление потенциальной утечки в RemoteRecoveryHandler #91802
  • Сообщить о восстановленных файлах как восстановленных со снимка для полностью смонтированных поисковых снимков #92976
Сводка
  • Уменьшение размера неотображённых текстовых полей #94387 (вопрос: #94346)
  • Распространение формата временной метки и преобразование наносекунд в миллисекунды #94141 (вопрос: #94085)
  • Остановка обработки TransportDownsampleAction при сбое #94624
  • Поддержка уменьшения размера гистограммы как меток #93445 (вопрос: #93263)
Поиск
  • Добавление проверки на null для полей сортировки над полями свертки #94546 (вопрос: #94407)
  • Аннотированный выделенный текст не совпадает, когда поиск содержит как аннотацию, так и аннотированный термин #92920 (вопрос: #91944)
  • Очистка полей индекса ответов при отмене #93716 (вопрос: #93029)
  • По умолчанию не включать замороженные индексы в PIT #94377
  • Исправление NPE, брошенного запросом префикса в необычных сценариях #94369
  • Исправление проблемы получения поля _id. #94528 (вопрос: #94515)
  • Исправление метаданных _size при извлечении хранимых полей #94483 (вопрос: #94468)
  • Исправление отсутствующего переопределения для совпадений в ProfileWeight #92360
  • Информация о пути вложенного элемента не должна добавляться во время copy_to #93340 (вопрос: #93117)
  • Использование всех событий профилирования при запуске #92087
  • Использование анализатора keyword для неразделённых полей в TermVectorsService #94518
  • [Профилирование] Настройка обработки последнего среза данных #94283
  • [Профилирование] Гарантия отправки ответов только один раз #93692 (вопрос: #93691)
  • [Профилирование] Обработка ошибок обработки ответов #93860
Снимок/Восстановление
  • Исправление необработанной ошибки, когда хранилище blobstore содержит неожиданный файл #93914
  • Поддержка прокси GCS повсюду в API GCS #92192 (проблема: #91952)
Статистика
  • Избегание захвата состояния кластера в TBbNA #92255
TSDB
  • Исправление синтетического _source для разреженного поля _doc_count #91769 (проблема: #91731)
Управление задачами
  • Исправление утечки контекста в API списка задач #93431 (проблема: #93428)
Преобразование
  • Интеграция вызова "sourceHasChanged" в обработку ошибок и логику повторных попыток #92762 (проблема: #92133)
Поиск векторов
  • Исправление вычисления maxScore для поиска kNN #93875
  • Исправление объяснения для совпадений поиска kNN #93876

Улучшения

Агрегации
  • Оптимизировать составные агрегации с ведущим глобальным порядковым значением источника #92197
Распределение
  • Добавить forecasted_write_load и forecasted_shard_size_in_bytes в конечную точку #92303
  • Предоставить статистику балансировки уровней через внутреннюю конечную точку #92199
  • Ввести ShardRouting.Role #92668
  • Предварительная проверка API удаления узла (часть 2) #91256 (вопрос: #87776)
  • Моделировать перемещения с использованием cluster_concurrent_rebalance=2 #93977
  • Непродвинутые элементы пропускают репликацию и восстановление коллег #93210
Аутентификация
  • Добавить новую token_type настройку в область JWT #91536
  • Область JWT — Первоначальная поддержка токенов доступа #91781
  • Область JWT — Упрощение расчета принципала токена #92315
  • Область JWT — Добавление поддержки необходимых утверждений #92314
  • Поддержка пользовательских хэшей паролей PBKDF2 #92871
Авторизация
  • Совпадение индексов поддерживает вложенные ограниченные роли #93306
  • Дополнительные kibana_system привилегии для обновлений преобразований Fleet #91499
  • Предварительная авторизация транспортных действий поиска дочерних элементов #91886
Координация кластера
  • Добавить ссылки на руководства по устранению неполадок #92755 (вопрос: #92741)
  • Улучшить логирование узла-{присоединения, выхода} для устранения неполадок #92742
  • Повторить cluster.initial_master_nodes предупреждение в журнале #92744
EQL
  • Примеры EQL: добавить поддержку нескольких примеров на ключ #91783
Двигатель
  • Добавить слушатель изменений для InternalEngine и CombinedDeletionPolicy #92017
  • Добавить поставщика основного срока в Engine.IndexCommitListener #92101
  • Изменить диапазон разрешенных процентов удалений в индексе #93188
  • Сравнить список имен файлов, добавляемых каждым новым изменением #92238
  • Установить постоянный порог файла объединения в 1 ГБ #92659
Гео
  • Добавить методы в H3#hexRing для предотвращения выделения длинных массивов #92711
  • Добавить методы для предотвращения выделения длинных массивов во время навигации по дочерним элементам в API H3 #92099
  • Добавить новый метод API H3 #h3ToNoChildrenIntersecting #91673
  • В H3 вычислить целевую точку из расстояния и азимута, используя трехмерную математику для плоскости #93084
  • Защитить библиотеку H3 от переполнения целых чисел #92829
  • Уменьшить количество выделений объектов в H3#h3ToGeoBoundary #91586
  • Ускорить библиотеку H3, используя FastMath реализацию для тригонометрических функций #91839
Состояние
  • Предоставить телеметрию API состояния Health через xpack #91708 (вопрос: #90877)
  • Статистика API состояния Health #91559
API индексов
  • Добавить ignore_missing_component_templates опцию конфигурации #92436 (вопрос: #92426)
Infra/CLI
  • Сканировать стабильные плагины на предмет именованных компонентов при установке #92528
Infra/Core
  • Добавить уровень журнала для журналов JVM #92382
  • Добавлено новое поле rollout_duration_seconds к действиям fleet #92640
  • Привязать сервис готовности к адресу с подстановочным знаком #91329 (вопрос: #90997)
  • Предоставить реализацию локально смонтированных безопасных настроек #93392
Infra/Плагины
  • Проверить стабильную версию плагина при установке и загрузке #91780
  • Пример стабильных плагинов с настройками #92334
  • Загрузить стабильные плагины в качестве синтетических модулей #91869
  • API настроек для стабильных плагинов #91467
Infra/Скрипты
  • Скрипт: оптимизация метаданных validateMetadata #93333
  • Короткое замыкание painless def равенства #92102
  • Использование примитивных типов вместо автоупаковки/разпаковки для итерации по примитивным массивам из определений #92025
Узел Ingest
  • Кэширование создания парсеров внутри DateProcessor #92880
  • Сделать GeoIpProcessor базу данных подкачки плагином #93285
Машинное обучение
  • Добавить идентификацию многомодального распределения в объяснения аномалий #2440
  • Добавить возможность включения и исключения значений в Частых элементах #92414
  • Лучше сообщение об ошибке, когда aggregate_metric_double используется в данных потоках с прокруткой #92232 (проблема: #90592)
  • Реализовать обрезку расширений в частых элементах для улучшения времени выполнения #92322
  • Улучшить производительность frequent_items с помощью глобальных порядковых номеров #93304
  • Улучшить скорость индексации результатов обнаружения аномалий #92417
  • Улучшить время выполнения частых элементов #93255
  • Увеличить значение таймаута по умолчанию для API развертывания обученной модели #92328
  • Возможность удаления добавленных пользователем аннотаций для API задач сброса/удаления #91698 (проблема: #74310)
  • Асинхронно сохранять данные о количестве данных и статистике тайминга данных #93000
  • Удалить очередь обработки PyTorch инференса, так как теперь это обрабатывается в Elasticsearch #2456
  • Поиск текстовых вложений #93531
  • Обновить PyTorch до версии 1.13.1 #2430
Картирование
  • Переключиться на новый IntField/LongField/FloatField/DoubleField Lucene #93165
Мониторинг
  • Добавить метрики kibana.stats.elasticsearch_client в шаблоны индексов мониторинга. #91508
  • Добавить карты мониторинга для es ingest метрики #92950
Сеть
  • Десериализация ответов в пуле потоков обработки #91367
Производительность
  • Добавить оценку расстояния векторов в микро-бенчмарки #92340
Языки запросов
  • Введение параметризованных правил и исполнителя #92428
Восстановление
  • Сделать шаг очистки файлов конфигурируемым для восстановления реплик между узлами #92490
Поиск
  • Более эффективный доступ к словарям терминов #92269
  • Добавить поддержку запросов term для поля, проиндексированного как rank_features #93247
  • Добавить новый параметр query_vector_builder к клаузу поиска knn #93331
  • Добавить плагин профилирования #91640
  • Включить плагин профилирования по умолчанию #92787
  • Получать стеки вызовов и исполняемые файлы более параллельно #93559
  • Улучшить процент ложных срабатываний фильтра Блума, установив 7 хеш-функций #93283
  • Увеличить количество потоков пула потоков GET #92309
  • Зарегистрировать Weight#count в ProfileWeight #85656 (проблема: #85203)
  • Снизить использование памяти битового набора match all #92777
  • Поля времени выполнения для опционального игнорирования ошибок скриптов #92380
  • Ускорить извлечение данных для flamegraphs #93448
  • Поддержка извлечения встроенных стеков вызовов #92863
  • [Профилирование] Снизить нагрузку на сборщик мусора #93590
Безопасность
  • Настраиваемый срок хранения недействительных или просроченных API-ключей #92219
  • Запись отметки времени при аннулировании API-ключа #91873
Снимок/Восстановление
  • Сделать RecoveryPlannerService опциональным #92489
TSDB
  • Включить фильтр Блума для поля _id в индексах tsdb #92115
  • Улучшить производительность усреднения, удалив поиск по отображению #92494 (проблема: #90226)
  • Незначительное ускорение парсинга TSDB #92276
  • Пропустить проверку дубликатов для сегментов, не содержащих отметку времени документа #92456
  • Поддержка fields в синтетическом источнике в последних случаях #91595
Управление задачами
  • TransportGetTaskAction: Ожидание задачи асинхронно #93375
  • TransportListTaskAction: Ожидание завершения задач асинхронно #90977 (проблема: #89564)
Преобразование
  • Добавить параметр from к API Transform Start #91116 (проблема: #88646)
  • Поддержка параметра "offset" в DateHistogramGroupSource #93203
  • Триггер сохранения состояния на основе времени #93221
Поиск по векторам
  • Разрешить предоставление null для значений поля dense_vector #93388
  • Разрешить более одного условия поиска KNN #92118 (проблема: #91187)
Watcher
  • Добавить возможность для webhook действий Watcher отправлять дополнительные заголовки #93426

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

Распределённые
  • Безопасные настройки, которые могут использовать yml по умолчанию в бесстатственном режиме #91925
Гео
  • Агрегация geohex по полю geo_shape #91956 (проблема: #90163)
  • Поддержка процессора ingest geo_grid #93370 (проблема: #92473)
Состояние
  • API состояния (Health API) теперь доступен в общем доступе #92879
  • [HealthAPI] Добавлена параметр размера, который контролирует количество возвращаемых затронутых ресурсов #92399 (проблема: #91930)
  • [HealthAPI] Добавлена поддержка ресурса с состоянием FEATURE_STATE #92296 (проблема: #91353)
Инфраструктура/Плагины
  • [Флот] Добавление шаблонов индексов файлов и данных файлов и политик ILM #91413
Узел Ingest
  • Процессор Redact Ingest #92951
Машинное обучение
  • Сделать агрегацию frequent_item_sets общедоступной #93421
  • Сделать нативное вычисление общедоступным #92213
TSDB
  • Добавить агрегацию TSDB rate #90447
  • Уменьшение выборки (downsampling) в общем доступе #92913
  • Выпуск агрегаций time_series и rate (для счётчиков) как технический превью #93546
  • Время рядов (TSDS) в общем доступе #91519
Преобразование
  • API преобразования _schedule_now #92948 (проблема: #44722)

Обновления

Инфраструктура/Ядро
  • Выровнять все использования Jackson до 2.14.2 #93438
Узел Ingest
  • Обновление tika до 2.6.0 #92104
Сеть
  • Обновление до Netty 4.1.85 #91846
  • Обновление до Netty 4.1.86 #92587
Языки запросов
  • Обновление antlr до 4.11.1 для ql, eql и sql #93238
Поиск
  • Обновление до Lucene 9.5.0 #93385
  • Обновление до lucene-9.5.0-snapshot-d19c3e2e0ed #92957
Снапшоты/Восстановление
  • Выровнять все использования protobuf до 3.21.9 #92123
  • Повысить версию reactor netty #92457
  • Объединить google-oauth-client до последней версии #91722

© 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.7.0.html

Spec-Zone.ru

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