Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›Заметки к релизу

Elasticsearch версия 7.14.0

Также см. Изменения в 7.14.

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

  • Уровень заморозки: (только Windows) Уровень данных заморозки использует несколько механизмов кэширования для ускорения доступа к файлам моментальных снимков, доступным для поиска. Один из этих кэшей использует разреженные файлы для избежания создания больших файлов на диске, когда это строго не требуется. Баг препятствовал созданию файлов с правильными параметрами для включения поддержки разреженных файлов в Windows, что приводило к созданию Elasticsearch потенциально больших файлов, которые могли в конечном итоге заполнить весь диск.

    Эта проблема исправлена в версиях Elasticsearch 7.15.2 и более поздних. Для более ранних версий известного решения нет. Файловые системы, которые по умолчанию включают разреженные файлы, не затронуты. Более подробную информацию см. в #79371.

  • Агрегации: В Elasticsearch 7.14.0–7.15.0, при проксировании запроса межкластерного поиска (CCS), память для агрегаций на узле-прокси не будет освобождена. Триггером является межкластерный поиск с использованием агрегаций, где минимизация числа обращений неэффективна (например, когда минимизация числа обращений явным образом отключена или неявно отключена при использовании поиска с прокруткой, асинхронного и поиска в определённый момент времени).

    Это затрагивает агрегации Kibana CCS, потому что Kibana по умолчанию использует асинхронный поиск. Эта проблема также может возникнуть во всех режимах удалённых подключений, настроенных для межкластерного поиска (sniff и proxy). В режиме sniff мы подключаемся только к подмножеству удалённых узлов (по умолчанию 3). Таким образом, если удалённый узел, к которому мы хотим отправить запрос, не входит в эти 3, мы должны отправить запрос как прокси-запрос. Решение – периодически перезапускать узлы с проблемной памятью.

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

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

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

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

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

Изменения

CCR
  • Устаревание системных индексов автоматического следования #73237 (проблема: #72815)
Координация кластера
  • Расширение барьера версий до всех обновлений #73358 (проблема: #72911)

Устаревшие функции

Распределение
  • Добавление записи в API устаревания для CLUSTER_ROUTING_ALLOCATION_INCLUDE_RELOCATIONS_SETTING #73552 (проблема: #47717)
  • Устаревание параметров единичного узла данных #73733 (проблема: #55805)
Анализ
  • Устаревание версии настроек анализаторов #74073
Аутентификация
  • Устаревание имён областей с ведущим символом подчеркивания #73366 (проблема: #73250)
Авторизация
  • Обозначение reporting_user как устаревшей роли #72057
API функций/индексов
  • Устаревание API заморозки индекса #72618 (проблема: #70192)
Инфраструктура/Ядро
  • Добавление устаревания для однозначного списка пути данных #72180
  • Добавление предупреждения для path.data как списка в API устаревания #72183 (проблема: #72180)
Инфраструктура/Регистрация
  • Устаревание уровня регистрации медленных операций #73718
Отображение
  • Добавление предупреждений об устаревании к геополям, которые определяют многополя #71912
Безопасность
  • Устаревание параметров camelCase, используемых API SAML #73984 (проблема: #73543)
  • Устаревание безопасности, неявно отключенной в пробных/базовых версиях #72339

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

Функции/Потоки данных
  • Добавление базовой поддержки псевдонимов для потоков данных #72613 (проблема: #66163)
Функции/ILM+SLM
  • Сервис миграции индексов и политик ILM на уровни данных #73689 (проблема: #73154)
Отображение
  • Добавление match_only_text, пространственно-эффективного варианта text #66172 (проблема: #64467)
SQL
  • Введение асинхронного режима запросов для SQL #73991 (проблема: #71041)
Поиск
  • Новый API terms_enum для обнаружения терминов в индексе #66452

Улучшения

Агрегации
  • Добавить политику keep_values зазора #73297 (вопрос: #27377)
  • Добавить дополнительную информацию о профилировании в агрегацию terms #73636
  • Добавить поддержку агрегаций range для полей, отображенных как гистограммы #74146 (вопрос: #74071)
  • Включить оптимизацию "фильтрация по фильтру" только для агрегаций terms, date_histogram, range и фильтров, когда она точно будет быстрее #74260
  • Ошибки docvalueformat #73121 (вопрос: #72040)
  • Оптимизировать одиночную корзину date_histogram #71180 (вопрос: #69377)
  • Читать агрегации напрямую из пулов буферов #72309
  • Уменьшать количество корзин агрегации только если это выгодно #74096
Распределение
  • Вести журнал изменений состояния кластера, когда узел покидает кластер #73576 (вопрос: #68948)
Аудит
  • Учетные записи служб — добавить тип токена службы в журнал аудита #73399 (вопросы: #72198, #73135)
  • Учетные записи служб — аудит изменений конфигурации безопасности #72555 (вопрос: #72198)
  • Учетные записи служб — ведение журнала аудита для имени токена службы #72198
Аутентификация
  • Добавить больше логирования в SAML Realm #73279
  • Учетные записи служб — Добавить источник токена для аутентификации метаданных #73135
  • Учетные записи служб — принудительное минимальное количество символов для секрета токена на момент аутентификации #72519
  • ApiKeyAuthCache теперь истекает после доступа, а не записи #73982
Авторизация
  • Предоставление учетной записи kibana_system доступа к привилегиям "all" для индексов .alerts* и .siem-signals* #72181
  • Улучшить ошибку при обработке неожиданных символов подстановки #73079 (вопросы: #43015, #61245)
  • Сделать RBACEngine.resolveAuthorizedIndicesFromRole возвращает множество для запросов #72598
  • Учетные записи служб — Запретить создание учетных записей oauth2 #72553
  • Учетные записи служб — нет ролей в сообщении об ошибке отказа #72517
  • Поддержка кэша запросов фрагментов для запросов с DLS и FLS #70191 (вопрос: #44581)
CCR
  • Добавить поддержку исключения шаблонов индексов в CCR AutoFollow #72935 (вопрос: #67686)
Клиент
  • Учетные записи служб — HLRC #72431
Координация кластера
  • Увеличить PeerFinder подробность при постоянном сбое #73128 (вопрос: #72968)
  • Записывать время, затраченное на таймауты разрешения хоста #72484
Распределённый
  • Выполнить CheckIndex на индексе метаданных перед загрузкой #73239 (вопрос: #29358)
Модули/Модули
  • Добавить заголовок X-Elastic-Product во все HTTP-ответы #73434 (вопрос: #73424)
  • Добавить поле мета в определение проблемы устаревания #74085 (вопрос: #73089)
  • Более подходящие настройки карт по умолчанию для журналов, метрик и синтетики #64978 (вопрос: #64400)
Модули/ILM+SLM
  • Добавить поле _meta в политику ilm #73515 (вопрос: #70755)
  • Добавить информацию _meta в встроенные политики ILM #73629
  • Сделать шаги ILM используют бесконечный таймаут для мастера #74143 (вопрос: #72085)
  • Повторно выполнить шаг ILM слияния фрагментов при сбоях в фрагменте #73762 (вопрос: #73142)
Модули/Ingest
  • Добавить поддержку фрагментов шаблонов для процессора ingest KV #73758 (вопрос: #73377)
  • Включить загрузчик GeoIP по умолчанию #74323
  • Изменить политику загрузчика GeoIP через 30 дней без обновлений #74099
  • Предоставить процессор Community ID в Painless #73963 (вопрос: #73346)
  • Предоставить процессор URI parts в Painless #73634 (вопрос: #73346)
Модули/Java High Level REST Клиент
  • Добавить временную метку в HLRC #72167 (задача: #70593)
  • Проверить, что основной ответ содержит правильные заголовки продукта #73910 (задача: #73434)
  • Изменить метод GET на POST в Searchtemplate #72851 (задачи: #72073, #72397)
  • Добавляет новое поле running_state в статистику потоков данных (#73926) #74025
  • Добавляет поддержку API для сброса задания #74254
Функции/Статистика
  • Добавить fs iotime в API статистики узлов #67861 (задача: #67805)
Функции/Наблюдатель
  • Исправить конфигурацию подключения Watcher HTTP для долговечности #72736 (задача: #52997)
Гео
  • Ускорить агрегацию геоплиток по полю geo_shape #72984
  • Добавить поддержку скриптов painless для поля geo_shape #72886 (задача: #54218)
Инфра/Ядро
  • Добавить пул потоков для критических операций над системными индексами #72625 (задача: #69251)
  • Добавить поле unenroll_timeout/unenrolled_reason в системные индексы Fleet #74180
  • Добавить предупреждения, если таймер потока задерживается с пробуждением #72465
  • Вести журнал медленных выполнений в потоке планировщика #72606 (задача: #72465)
  • Полностью защитить недавно добавленные системные индексы #74186 (задача: #72572)
  • RestController не использует контекст потока напрямую из пула потоков #74293
Инфра/Жизненный цикл узла
  • Не назначать постоянные задачи узлам, которые закрываются #72260 (задача: #70338)
  • Сделать ILM осведомленным о закрытии узла #73690 (задача: #70338)
Инфра/Скриптинг
  • Делегировать обработку toString в обернутую карту в DynamicMap #72048
Машинное обучение
  • Добавить новую агрегацию bucket_correlation с начальной функцией count_correlation #72133
  • Добавить новый токенайзер ml_standard для категоризации ML #72744
  • Добавление running_state в объект статистики потоков данных #73926
  • Добавление новой агрегации KS-теста для конвейера #73334
  • Добавление отметки времени последней записи к предупреждению об устаревании снимка модели #73066
  • Закрытие задания обнаружения аномалий теперь автоматически останавливает его поток данных при необходимости #74257
  • Дальнейшее увеличение оценки памяти для категоризации #73370 (задача: #68859)
  • Сделать токенайзер ml_standard создавать отдельные токены для адресов электронной почты #73052
  • Сделать токенайзер ml_standard по умолчанию для новых заданий категоризации #72805 (задача: #1724)
  • Оптимизация шага вывода, когда нет тестовых документов #74315
  • API для сброса задания обнаружения аномалий #73908
  • Переключение шаблонов внутренних индексов ML на составные шаблоны #73232 (задача: #65437)
  • Придать больший вес нескольким смежным словам из словаря при выполнении категоризации #1903
Картирование
  • Добавить проверку устаревания кластера для шаблонов индексов, содержащих несколько типов #72540
  • Улучшить сообщение об ошибке для copy_to #72820 (задача: #49344)
  • Сделать запросы интервалов полностью подключаемыми через мапперы полей #71429
  • DynamicFieldType для показа известных имен его подполей #73530
  • FieldTypeLookup для поддержки динамических полей во время выполнения #73519
Упаковка
  • Зафиксировать версию Alpine Linux в сборках Docker #74169
  • Усилить права записи в образе Docker #73942 (задача: #70635)
Восстановление
  • Разделить отправку фрагментов файлов во время восстановления #74164
  • Обрабатывать writtenBy как необработанную строку #74125
Поиск
  • Добавить поддержку search_after к новому API termsEnum #72933 (задача: #72910)
  • Улучшить алгоритм извлечения вложенных источников #73157
  • Интегрировать механизм защиты от перегрузки в AsyncTaskIndexService #73862 (задачи: #67594, #73638)
  • PIT: Сделать ошибку валидации выполнимой #74224 (задача: #74223)
  • Поддержка сжатия полей с помощью search_after #73023 (задача: #53115)
  • Поддержка гораздо больших фильтров источников #72277
  • Запись асинхронного ответа непосредственно в XContent для уменьшения использования памяти #73707 (задача: #67594)
Безопасность
  • Добавить спецификацию REST API для SAML API #72839 (задача: #67189)
  • Кэшировать результаты хеширования ключей API при создании #74106
  • Предоставить метаданные ключей API процессору загрузки SetSecurityUser #72137 (задача: #71024)
  • Переместить хеширование ключей API при создании в пул потоков криптографических операций #74165 (задача: #74106)
  • Учетные записи сервисов — отображать имя маркера для ошибок проверки имени #73131 (задача: #73081)
Снимок/Восстановление
  • Прервать запись в анализатор репозитория #72077 (задача: #72051)
  • Добавить больше подробностей о снимке в данные репозитория #72232
  • Разрешить динамическое обновление некоторых настроек репозитория #72543
  • Кэшировать RepositoryData напрямую, а не сериализованный #73190
  • Ввести поле next в ответ GetSnapshots с постраничной навигацией #74236 (задача: #73952)
  • Ввести пул потоков SNAPSHOT_META для извлечения метаданных репозитория #73172
  • Сделать удаление больших снимков по частям более эффективным с точки зрения памяти #72788
  • Сделать GetSnapshotsAction отменяемым #72644
  • Сделать SnapshotStatusAction отменяемым #73818 (задача: #72644)
  • Постраничная навигация и сортировка для API получения снимков #73952
  • Предотвратить удаление репозиториев, которые используются индексами, основанными на снимках #73714
  • Перенаправить при регистрации нового репозитория #73761 (задачи: #73669, #73714)
  • Экономия памяти при записи больших блоков метаданных репозитория #74313
Управление задачами
  • Добавить поддержку отмены задачи Rest XPackUsage #72304
  • Добавить поддержку отмены RestGetMapping #72234
  • Добавить поддержку отмены задач в TransportMasterNodeAction #72157
  • Определять отменённые задачи в API списка задач #72931 (задача: #72907)
  • Вести логи в DEBUG только при отключении во время отмены #74042 (задачи: #65443, #72968)
Трансформация
  • Добавить поддержку основных метрик #71850 (задачи: #51925, #52236)
  • Улучшить сообщение об ошибке, если у пользователя нет привилегий на конечную точку _preview #72002 (задача: #72715)
  • Оптимизировать обнаружение изменений group_by гистограммы #74031 (задача: #63801)

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

Агрегации
  • Исправить ошибку сопоставления для указания поля значений #74132
  • Предотвратить переполнение памяти date_histogram #72081 (проблема: #71758)
  • Правильно задавать размер пустых фильтров #71864
  • Включить оптимизацию "фильтр по фильтру" только для terms, date_histogram, range и filters агрегаций, когда мы уверены, что это будет быстрее #74260
CRUD
  • Переместить обработку получения алиасов на поток управления #74053
CompositeAggs
  • Отклонить агрегацию composite, если после ключа значение невозможно разобрать #74252
Распределённый
  • Изменить код состояния REST для TaskCancelledException на 400 #73524
Модули/Ingest
  • Разбор: Возникновение % в разделителе приводит к неправильному захвату следующего ${key} #72876
  • Исправить ignore_missing, которое не действует в обработчике изменения имени ingest #74248 (проблема: #74241)
Модуль/Java High Level REST Клиент
  • Исправить сравнение идентичных значений, приводящее к ошибке неэффективного значения #74040
Гео
  • Не выполнять избыточное выделение при изменении размера в GeoHashTiler с границами #72539 (проблема: #72521)
  • Правильно обработать точность 0 для BoundedGeoTileGrid #72800
  • [Geopoint] Агрегации сетки с границами должны исключать касающиеся тайлы #72493 (проблема: #72295)
  • [Geoshape] Агрегации сетки с границами должны исключать касающиеся тайлы #72295
  • GeoShapeIndexer#prepareForIndex должно вызываться для вычисления центра документальных значений #73856 (проблема: #73836)
Выделение текста
  • Исправить порядок выделения простым выделением для none #74084 (проблема: #58236)
  • Исправить выделение для запроса match_phrase_prefix внутри вложенных #73775 (проблема: #70922)
Инфраструктура/Ядро
  • Изменить максимальное количество цифр года для strict_date_optional_time и date_optional_time #73034 (проблемы: #52396, #72191)
Инфраструктура/Логирование
  • Исправить ограничения по задержкам сообщений о устаревании для устаревших маршрутов #73051 (проблема: #73002)
Инфраструктура/Скриптинг
  • Исправить несколько ошибок ссылки на функции в Painless #73538
Машинное обучение
  • Сделать атомарные операции безопаснее для aarch64 #1893
  • Обеспечить вычисление счётчика событий в корзинах для задач с временными интервалами в 1 секунду #1909
Сопоставление
  • Проверять лимит по общему количеству полей во время парсинга #73713 (проблема: #73460)
Упаковка
  • Разрешить перезапуск контейнеров с журналом файлов #73101 (проблема: #72702)
Восстановление
  • Избежать многострочных сообщений в журнале проверки индекса #74303 (проблемы: #74233, #74299)
Поиск
  • Динамическое время выполнения, чтобы не создавать объекты динамически #74234 (проблема: #65489)
  • TermsEnum API — разрешить null-строки поиска #73144 (проблема: #73141)
Снимок/Восстановление
  • Исправить проблему с многопоточностью в граничном случае в TransportMountSearchableSnapshotAction #73196
  • Исправить SnapshotInfo.fromXContentInternal, который не полностью потребляет парсер #73268 (проблема: #73149)
  • Исправить проблему сериализации SnapshotShardFailure.toXContent #72801
TLS
  • Исправить сообщения об ошибках для SSL-ресурсов вне каталога конфигурации #64235 (проблема: #63451)

Обновления

Функции/Мониторинг
  • Отслеживать версию Beat #73932 (проблема: #26214)
Инфраструктура/Ядро
  • Обновить Azure SDK и Jackson (#72833) #72995 (проблемы: #66555, #67214, #72833)
Сеть
  • Обновить netty до 4.1.63 #73011
Упаковка
  • Обновить входящую JDK до 16.0.1 #73057

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

Spec-Zone.ru

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