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
- Координация кластера
Устаревшие функции
- Распределение
- Анализ
-
- Устаревание версии настроек анализаторов #74073
- Аутентификация
- Авторизация
-
- Обозначение
reporting_userкак устаревшей роли #72057
- Обозначение
- API функций/индексов
- Инфраструктура/Ядро
- Инфраструктура/Регистрация
-
- Устаревание уровня регистрации медленных операций #73718
- Отображение
-
- Добавление предупреждений об устаревании к геополям, которые определяют многополя #71912
- Безопасность
Новые функции
- Функции/Потоки данных
- Функции/ILM+SLM
- Отображение
- SQL
- Поиск
-
- Новый API
terms_enumдля обнаружения терминов в индексе #66452
- Новый API
Улучшения
- Агрегации
-
- Добавить политику
keep_valuesзазора #73297 (вопрос: #27377) - Добавить дополнительную информацию о профилировании в агрегацию terms #73636
- Добавить поддержку агрегаций range для полей, отображенных как гистограммы #74146 (вопрос: #74071)
- Включить оптимизацию "фильтрация по фильтру" только для агрегаций terms, date_histogram, range и фильтров, когда она точно будет быстрее #74260
- Ошибки docvalueformat #73121 (вопрос: #72040)
- Оптимизировать одиночную корзину
date_histogram#71180 (вопрос: #69377) - Читать агрегации напрямую из пулов буферов #72309
- Уменьшать количество корзин агрегации только если это выгодно #74096
- Добавить политику
- Распределение
- Аудит
- Аутентификация
-
- Добавить больше логирования в 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
- Клиент
-
- Учетные записи служб — HLRC #72431
- Координация кластера
- Распределённый
- Модули/Модули
- Модули/ILM+SLM
- Модули/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
- Функции/Статистика
- Функции/Наблюдатель
- Гео
- Инфра/Ядро
-
- Добавить пул потоков для критических операций над системными индексами #72625 (задача: #69251)
- Добавить поле
unenroll_timeout/unenrolled_reasonв системные индексы Fleet #74180 - Добавить предупреждения, если таймер потока задерживается с пробуждением #72465
- Вести журнал медленных выполнений в потоке планировщика #72606 (задача: #72465)
- Полностью защитить недавно добавленные системные индексы #74186 (задача: #72572)
-
RestControllerне использует контекст потока напрямую из пула потоков #74293
- Инфра/Жизненный цикл узла
- Инфра/Скриптинг
-
- Делегировать обработку
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
- Упаковка
- Восстановление
- Поиск
-
- Добавить поддержку
search_afterк новому APItermsEnum#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)
- Трансформация
Исправления ошибок
- Агрегации
-
- Исправить ошибку сопоставления для указания поля значений #74132
- Предотвратить переполнение памяти
date_histogram#72081 (проблема: #71758) - Правильно задавать размер пустых фильтров #71864
- Включить оптимизацию "фильтр по фильтру" только для
terms,date_histogram,rangeиfiltersагрегаций, когда мы уверены, что это будет быстрее #74260
- CRUD
-
- Переместить обработку получения алиасов на поток управления #74053
- CompositeAggs
-
- Отклонить агрегацию composite, если после ключа значение невозможно разобрать #74252
- Распределённый
-
- Изменить код состояния REST для
TaskCancelledExceptionна 400 #73524
- Изменить код состояния REST для
- Модули/Ingest
- Модуль/Java High Level REST Клиент
-
- Исправить сравнение идентичных значений, приводящее к ошибке неэффективного значения #74040
- Гео
-
- Не выполнять избыточное выделение при изменении размера в
GeoHashTilerс границами #72539 (проблема: #72521) - Правильно обработать точность 0 для
BoundedGeoTileGrid#72800 - [Geopoint] Агрегации сетки с границами должны исключать касающиеся тайлы #72493 (проблема: #72295)
- [Geoshape] Агрегации сетки с границами должны исключать касающиеся тайлы #72295
-
GeoShapeIndexer#prepareForIndexдолжно вызываться для вычисления центра документальных значений #73856 (проблема: #73836)
- Не выполнять избыточное выделение при изменении размера в
- Выделение текста
- Инфраструктура/Ядро
- Инфраструктура/Логирование
- Инфраструктура/Скриптинг
-
- Исправить несколько ошибок ссылки на функции в Painless #73538
- Машинное обучение
- Сопоставление
- Упаковка
- Восстановление
- Поиск
- Снимок/Восстановление
- TLS
Обновления
© 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