Elasticsearch версия 7.4.0
Также см. Изменения, вносящие разрыв совместимости, в версии 7.4.
Известные проблемы
- Применение операций удаления или обновления к индексу после его уменьшения может привести к его повреждению. Чтобы предотвратить эту проблему, рекомендуется остановить уменьшение индексов с правами чтения-записи. Для индексов только для чтения рекомендуется выполнить принудительное слияние индексов после уменьшения, что значительно снижает вероятность этого повреждения в случае, если операции удаления/обновления будут применены случайно. Эта ошибка исправлена в Elasticsearch 7.7 и более поздних версиях. Более подробные сведения можно найти в соответствующем вопросе.
- В этой версии следует избегать активации журнала медленных запросов. Любая попытка залогировать медленный запрос может привести к ошибке AIOOBE из-за ошибки, которая выполняет одновременные изменения в общем массиве байтов. (вопрос: #48358)
- Индексы, созданные в версии 6.x с полями
dateиdate_nanosс форматами, несовместимыми с шаблонами java.time, приведут к ошибкам разбора, некорректным вычислениям даты или неправильным результатам поиска. https://github.com/elastic/elasticsearch/pull/52555 Эта проблема исправлена в Elasticsearch 7.7 и более поздних версиях.
Изменения, вносящие разрыв совместимости
Изменения в Java, вносящие разрыв совместимости
- Гео
- Сеть
-
- Прекратить повторное создание обернутых обработчиков в RestController #44964
Устаревшие элементы
- Гео
- Инфраструктура/Ядро
- Инфраструктура/Настройки
- Машинное обучение
Новые возможности
- Агрегации
- Анализ
- Аутентификация
- Авторизация
-
- Добавление гранулированных привилегий для API-ключа #42020
- Функции/ILM
- Функции/Watcher
- Гео
-
- [ПРОСТРАНСТВЕННЫЙ] Новый ShapeQueryBuilder для запросов к индексированной декартовой геометрии #45108 (задача: #44980)
- [GEO] Новый ShapeFieldMapper для индексирования декартовых геометрий #44980
- Добавление процессора Circle #43851 (задача: #43554)
- Новый
shapeтип поля для индексирования декартовых геометрий #43644
- Машинное обучение
-
- Разрешить пользователю указать запрос в запросе Evaluate Data Frame #45775 (задача: #45729)
- Вызов новой конечной точки API _estimate_memory_usage при запуске анализа данных _start #45536 (задачи: #44699, #45544)
- HLRC для оценки API использования памяти #45531 (задачи: #44699, #45188)
- Реализация конечной точки API ml/data_frame/analytics/_estimate_memory_usage #45188 (задача: #44699)
Улучшения
- Агрегации
- Распределение
- Анализ
- Аутентификация
- Авторизация
-
- Добавить привилегию кластера
manage_own_api_key#45897 (задача: #40031) - Учитывать флаг
ownerпри получении/отмене ключей с помощью службы API ключей #45421 (задача: #40031) - Изменения API REST для привилегии manage-own-api-key #44936 (задача: #40031)
- Упростить API службы API ключей #44935 (задача: #40031)
- Добавить привилегию кластера
- CCR
-
- Включить аренды в сообщении об ошибке, когда операции больше недоступны #45681
- CRUD
- Координация кластера
-
- Улучшить ведение журнала медленных операций в MasterService #45086 (задача: #45007)
- Более подробное ведение журнала медленного применения состояния кластера #45007
- Игнорировать неизвестные поля при перезаписи метаданных узла #44689
- Разрешить ожидающие задачи перед восстановлением состояния #44685 (задача: #44652)
- Распределенные данные
- Инфраструктура документов
-
- Добавить пояснения к документу TESTSETUP и сообщениям об ошибках #43306
- Движок
-
- Очистить движок после большой слияния #46066
- Выполнить синхронизацию перед closeIntoReader при переходе к новому поколению, чтобы улучшить производительность индекса #45765 (задача: #45371)
- Рефакторинг движков индекса для управления читателями вместо искателей #43860
- Освободить процессор асинхронного ввода-вывода перед уведомлением #43682
- Включить оптимизацию индексирования с помощью порядковых номеров на репликах #43616 (задача: #34099)
- Функции/ILM
-
- Добавить настройку узла для отключения SLM #46794 (задача: #38461)
- Включить в процессе создания снимок для политики с помощью API для получения политики SLM #45245
- Добавить возможность фильтрации ответа ILM explain #44777 (задача: #44189)
- Отобразить возраст индекса в выводе ILM explain #44457 (задача: #38988)
- Функции/API индексов
- Функции/Ingest
-
- Исправить IngestService, чтобы он учитывал исходный тип содержимого документа #45799
- Ingest Вложение: Обновить tika до v1.22 #45575
- Получить процессоры вместо проверки существования #45354
- Добавить вспомогательный метод проверки существования процессоров ingest #45156
- Изменить API моделирования ingest, чтобы он не включал удаленные документы #44161 (задача: #36150)
- Функции/REST-клиент Java высокого уровня
-
- Добавление XContentType в качестве параметра к HLRC ART#createServerTestInstance #46036 (задача: #45970)
- Добавление CloseIndexResponse в HLRC #44349 (задача: #39687)
- Добавление mapper-extras и RankFeatureQuery в hlrc #43713 (задача: #43634)
- Удаление обновления фонового состояния объекта Request объектом RequestConverte… #40156 (задача: #39666)
- Добавление API удаления алиасов в высокоуровневый REST-клиент #32909 (задача: #27205)
- Функции/Watcher
-
- Добавление настроек SSL/TLS для электронной почты watcher #45272 (задача: #30307)
- Отчет Watcher: добавление предупреждения по электронной почте, если вложение CSV содержит значения, которые могут быть интерпретированы как формулы #44460
- Watcher: добавление слушателя остановки #43939 (задача: #42409)
- Улучшение сообщения об ошибке CryptoService при отсутствии безопасного файла #43623 (задача: #43619)
- Geo
- Infra/Разрывы цепей
-
- Исправление значения по умолчанию для G1 GC IHOP #46169
- Infra/Основное
- Infra/Упаковки
- Infra/Плагины
- Infra/Сценарии
- Infra/Настройки
- Машинное обучение
-
- Поддержка логических полей для аналитики кадров данных #46037
- Добавление описания для аналитики кадров данных #45774
- Добавление регрессионного анализа для аналитики кадров данных #45292
- Введение формальной роли узла ML #45174 (задачи: #29943, #43175)
- Улучшение обнаружения строки заголовка CSV в find_file_structure #45099 (задача: #45047)
- Обнаружение аномалий должно получать только документы, имеющие проанализированные поля #44944
- Сохранение DatafeedTimingStats с RefreshPolicy.NONE по умолчанию #44940 (задача: #44792)
- Добавление поля result_type в документы TimingStats и DatafeedTimingStats #44812
- Реализация статистики среднего времени поиска за час по экспоненциальному среднему. #44683 (задача: #29857)
- Добавление метрики r_squared eval для регрессии #44248
- Добавление поддержки regression.mean_squared_error в API eval #44140
- Добавление DatafeedTimingStats.average_search_time_per_bucket_ms и TimingStats.total_bucket_processing_time_ms статистики #44125 (задача: #29857)
- Добавление DatafeedTimingStats к Datafeed GetDatafeedStatsAction.Response #43045 (задача: #29857)
- Сеть
-
- Улучшение ведения логов для сообщений TLS в небезопасном канале передачи #45835 (задача: #32688)
- Асинхронное подключение к удалённым кластерам #44825 (задача: #40150)
- Улучшение ошибок при невозможности чтения файлов TLS #44787 (задача: #43079)
- Добавление опций keepalive на сокетном уровне #44055
- Перенос ConnectionManager в асинхронные API #42636
- Ранжирование
- Восстановление
-
- Игнорирование политики сохранения транслога, если включены soft-удаления #45473 (задача: #45136)
- Сохранение только разумной истории для восстановления между узлами #45208 (задача: #41536)
- Использование индекса для восстановления между узлами вместо транслога #45136 (задачи: #38904, #41536, #42211)
- Обрезка локального транслога при восстановлении между узлами #44756
- Асинхронная отправка фрагментов файлов при восстановлении между узлами #44468 (задачи: #36195, #44040)
- SQL
-
- SQL: Поддержка запросов с HAVING над SELECT #46709 (задача: #37051)
- SQL: Разрыв зависимости TextFormatter/Cursor #45613 (задача: #45516)
- SQL: Удаление устаревшего использования "interval" в date_histogram #45501 (задача: #43922)
- SQL: использование методов hasValue() из классов InspectionHelper Elasticsearch #44745 (задача: #35745)
- Переход от использования docvalue_fields к извлечению значений из _source #44062 (задача: #41852)
- Поиск
- Безопасность
- Снапшот/Восстановление
- Управление задачами
- Трансформации
-
- Добавление конечной точки API обновления трансформации #45154 (задача: #43438)
- Добавление поддержки bucket_selector #44718 (задачи: #43744, #44557)
- Добавление принудительного удаления #44590 (задача: #43961)
- Добавление динамической настройки кластера для повторных попыток при ошибках #44577
- Добавление необязательного параметра defer_validation для PUT #44455 (задача: #43439)
- Добавление поддержки агрегации geo_bounds #44441
- Добавление опции частоты в конфигурацию трансформации, по умолчанию 1 минута #44120
Исправления ошибок
- Агрегации
- Распределение
- Анализ
- Аутентификация
-
- Вернуться к аутентификации по домену, если ApiKey завершается ошибкой #46538
- Обеспечить уникальность имени домена #46253
- Разрешить пустой конечный пункт для имплицитного потока #45038
- Не использовать прокрутку при поиске дублирующего API-ключа #45026
- Исправить поврежденный сбой в getUnlicensedRealms #44399
- Исправить сущность X509AuthenticationToken #43932 (проблемы: #34396, #43796)
- Авторизация
-
- Не переписывать псевдонимы при удалении индекса из запросов на псевдонимы #46989
- Предоставить пользователю kibana привилегии для создания конфигурации агента APM #46765 (проблема: #45610)
- Добавить привилегию кластера
manage_own_api_key#45696 (проблема: #40031) - Разряженные запросы к ролям могут генерировать исключение NPE #45053
- CCR
-
- Очистить задачи ShardFollowTasks для удаленных индексов #44702 (проблема: #34404)
- Пропустить обновление, если параметры лидера и ведомого одинаковы #44535 (проблема: #44521)
- Избежать переполнения стека в координаторе автоматического следования #44421 (проблема: #43251)
- Избежать NPE при проверке привилегий индекса CCR #44397 (проблема: #44172)
- CRUD
- Координация кластера
- Распределенный
-
- Исправить ложное срабатывание предупреждения о разсинхронизации в synced-flush #46576 (проблемы: #28464, #30244)
- Подавить предупреждающие журналы от фоновой синхронизации при перемещении первичного #46247 (проблемы: #40800, #42241)
- Гарантировать, что AsyncTask#isScheduled остается false после закрытия #45687 (проблема: #45576)
- Обновить контрольную точку translog после пометки операций как постоянных #45634 (проблема: #29161)
- Исправить часы, используемые в запросах обновления #45262 (проблема: #45254)
- Восстановить причину DefaultShardOperationFailedException при десериализации #45203
- Использовать именованные writable из модуля Indices в инструменте elasticsearch-shard #45036 (проблема: #44628)
- Двигатель
-
- Обработка ошибок уровня документов для удаления #46100 (проблема: #46083)
- Обработка ошибок уровня документов бездействия #46083
- Убрать снисходительность при повторном проигрывании translog во время восстановления по запросу #44989
- Вызвать TranslogCorruptedException в большем количестве случаев #44217
- Завершить работу двигателя, если произошла ошибка документа на репликах #43523 (проблемы: #40435, #43228)
- Функции/ILM
-
- Обработка частичных ошибок при получении сегментов в SegmentCountStep #46556
- Исправления спецификации API #46522
- Исправление сериализации SnapshotLifecycleMetadata xcontent #46500 (проблема: #46499)
- Обновлённые параметры и URL API slm #44797
- Исправление переставленных переменных в сообщении об ошибке #44300
- API функций/индексов
-
- Исправление ошибки, при которой сопоставления удаляются из запросов rollover. #45411 (проблема: #45399)
- Создание индекса с сопоставлением без типов #45120
- Проверка предела фрагментов после применения шаблонов индексов #44619 (проблемы: #34021, #44567, #44619)
- Проверка параметров настроек индекса после применения шаблонов #44612 (проблемы: #34021, #44567)
- Функции/Модуль Ingest
- Функции/REST-клиент Java высокого уровня
-
- [HLRC] Отправка min_score как параметра строки запроса к API подсчета #46829 (проблема: #46474)
- HLRC multisearchTemplate забыл параметры #46492 (проблема: #46488)
- terminateAfter добавлен в RequestConverter #46474 (проблема: #46446)
- [Закрывает #44045] Добавление параметра slices при отправке запроса на переиндексацию через REST-клиент Java высокого уровня #45690 (проблема: #44045)
- HLRC: Исправление кодирования + в запросе GET. #33164 (проблема: #33077)
- Функции/Watcher
-
- Исправление класса, используемого для инициализации логгера в Watcher #46467
- Исправление неправильного кодирования URL в HTTP-клиенте Watcher #45894 (проблема: #44970)
- Исправление создания URL Watcher HTTP-клиента #45207 (проблема: #44970)
- Ведение журнала ошибок записи для документа истории Watcher. #44129
- Гео
- Выделение
- Инфра/Ядро
-
- Всегда проверяйте наличие данных cgroup #45606 (проблема: #45396)
- Безопасная публикация DelayedAllocationService и SnapshotShardsService #45517 (проблема: #38560)
- Добавление параметров JVM по умолчанию для CLI #44545 (проблемы: #219, #42021)
- Исправление разбора десятичной точки для date_optional_time #43859 (проблема: #43730)
- Инфра/Логирование
- Инфра/Упаковка
- Инфра/Плагины
- Инфра/REST API
- Инфра/Скрипты
- Инфра/Настройки
- Машинное обучение
-
- Исправить две ошибки блокировки очистки данных #46982
- Выдать ошибку, когда для канала данных требуется CCS, но оно не включено для узла #46044 (проблема: #46025)
- Обработать значение "null" ответа API Оценка использования памяти gracefully. #45726 (проблема: #44699)
- Удалить таймаут ожидания завершения процессора аналитики результатов фреймов данных #45724 (проблема: #45723)
- Проверить, что индекс назначения пуст при запуске аналитики фреймов данных #45094
- Перехватить любую ошибку, выброшенную при закрытии процесса аналитики фреймов данных #44958
- Обрабатывать PostDataActionResponse.DataCounts.bucketCount как инкрементальное, а не абсолютное (общее) значение. #44803 (проблема: #44792)
- Рассматривать большие изменения в searchCount как значимые и сохранять документ после таких изменений #44413 (проблемы: #44196, #44335)
- Обновить .ml-config отображения перед индексированием задания, канала данных или конфигурации аналитики фреймов данных #44216 (проблема: #44263)
- Ожидать .ml-config первичного перед назначением постоянных задач #44170 (проблема: #44156)
- Исправить блокировку трекера памяти ML, когда внутренний шаг завершается ошибкой #44158 (проблема: #44156)
- Исправить проверки канала данных, когда присутствует конкретный удаленный индекс #43923 (проблема: #42113)
- Переименовать значения метода обнаружения выбросов
knnиtnnнаdistance_kth_nnиdistance_knnсоответственно, чтобы соответствовать API. #598 - Исправить случайную (недетерминированную) повторную инициализацию моделирования для функции
lat_long. #641
- Карта
-
- Убедитесь, что тип проверен перед попыткой объединить новую карту. #45157 (проблемы: #29316, #43012)
- Убедитесь, что поля с заглавными буквами не выдают ошибки при использовании полей ранжирования. #44370 (проблема: #44330)
- Предотвратить предупреждение о устаревании типов для запросов indices.exists. #43963 (проблема: #43905)
- Добавить include_type_name в спецификацию REST API indices.exitst #43910 (проблема: #43905)
- Сеть
-
- Исправить ошибку запроса HTTP, разрывающей канал закрытия #45958 (проблемы: #43362, #43850)
- Исправить протоколирование plaintext на порту TLS #45852 (проблема: #32688)
- transport.publish_address должен содержать CNAME #45626 (проблемы: #32806, #39970)
- Исправить ошибку при копировании байтов для записи в сокет #45463 (проблема: #45444)
- Восстановление
- Сводка
-
- Исправить создание задания сводки, чтобы работать с шаблонами #43943
- SQL
-
- SQL: Правильная обработка индексов без/с пустым отображением #46775 (вопрос: #46757)
- SQL: улучшение поведения ResultSet при отсутствии строк #46753 (вопрос: #46750)
- SQL: использование правильного типа данных для преобразований типов #46574 (вопрос: #46090)
- SQL: Исправление проблемы с общим разрешением типа #46565 (вопрос: #46551)
- SQL: исправление сценариев скриптинга для функций группировки по дате и времени #46421 (вопрос: #40241)
- SQL: Использовать ответ со схемой null #46386 (вопрос: #46381)
- SQL: Исправление проблемы с функцией IIF, когда условие сворачивается #46290 (вопрос: #46268)
- SQL: Исправление проблемы с типом данных для CASE с NULL #46173 (вопрос: #46032)
- SQL: Добавление параметра формата к запросам диапазона для постоянных сравнений дат #45326 (вопрос: #45139)
- SQL: Уникальные имена разделов inner_hits для каждого условия вложенного поля #45039 (вопросы: #33080, #44544)
- SQL: исправление потери пути URI в случае сценария размещения ES #44776 (вопрос: #44721)
- SQL: изменение размера списка конкретных индексов при разрешении нескольких индексов #43878 (вопрос: #43876)
- SQL: обработка экранирования двойных кавычек #43829 (вопрос: #43810)
- SQL: добавление красивой печати в формате JSON #43756
- SQL: обработка отсутствия SQL более корректным способом #43665 (вопрос: #41279)
- Поиск
-
- Запросы multi-get должны ожидать активности поиска #46283 (вопрос: #27500)
- Обеспечить полное отключение оптимизации top docs для запросов с неограниченным максимальным значением баллов. #46105 (вопрос: #45933)
- Запретить частичные результаты при недоступности фрагмента #45739 (вопрос: #42612)
- Предотвратить утечку задач поиска при исключениях в FetchSearchPhase и DfsQueryPhase #45500
- Исправить NPE при запросе inner hits, если _source отключен. #44836 (вопрос: #43517)
- Не использовать index_phrases для запросов графа #44340 (вопрос: #43976)
- Безопасность
-
- Инициализация кэша набора битов подмножества документов, используемого для DLS #46211 (вопрос: #45147)
- Исправление автоматического создания индексов .security-* #44918
- SecurityIndexManager обрабатывает RuntimeException при чтении отображения #44409
- Не перехватывать исключения ввода-вывода при получении аутентификации #44398 (вопросы: #44172, #44397)
- Использовать системный контекст для поиска подключённых узлов #43991 (вопрос: #43974)
- Снапшоты/Восстановление
-
- Исправление ошибки в ответах о статусе снимка по меткам времени #46919 (вопрос: #46913)
- GCS deleteBlobsIgnoringIfNotExists должен перехватывать StorageException #46832 (вопрос: #46772)
- Исправление использования потоков ThreadPool в TransportSnapshotsStatusAction #45824
- Остановка выполнения транзакции Transport Action SLM Policy на пуле снимков #45727 (вопрос: #45594)
- Проверка наличия текущих снимков/восстановлений индексов перед закрытием #43873
- Обеспечение согласованности меток времени, возвращаемых API для снимков #43148 (вопрос: #43074)
- Рекурсивное удаление неиспользуемых директорий индексов #42189 (вопрос: #13159)
- Управление задачами
-
- Перехват ошибок регистрации заданий AllocatedTask #45300
- Преобразования
-
- Использование API field_caps для сопоставления вычитания #46703 (проблема: #46694)
- Исправление ошибки "off-by-one" в операциях контрольных точек operations_behind #46235
- Перемещение перехода состояния ошибки для безопасности MT #45676 (проблема: #45664)
- Исправление ошибки _start?force=true #45660
- Исправление переходов состояния ошибки и гонки #45627 (проблемы: #45562, #45609)
- Исправление запуска кадра данных после остановки во время выполнения #45340 (проблемы: #44219, #45339)
- Исправление обработки пустой агрегации в индексаторе #45061 (проблема: #44906)
- Единообразная обработка исключений проверки между PUT и _preview #44983 (проблема: #44953)
- Обработка ошибок массового индексирования как ошибок индексирования #44351 (проблема: #44101)
- Предотвращение попыток выполнения задачи при ошибке #44239 (проблема: #44121)
- Ответ со статусом 409 при ошибке _stop #44231 (проблема: #44103)
- Добавление проверок индекса к _start кадру преобразования данных #44191 (проблема: #44104)
- Ошибка задачи кадра данных не возвращает ответ 500 #44058 (проблема: #44011)
- Отсутствует сообщение об аудировании для автоостановки #43984 (проблема: #43977)
Регрессии
- Агрегации
Модернизации
© 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.4.0.html