Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Руководство по миграции

Миграция на 8.5

В этом разделе обсуждаются изменения, о которых необходимо помнить при миграции вашего приложения в Elasticsearch 8.5.

См. также Что нового в 8.17 и Примечания к выпуску.

Изменения, требующие миграции

Следующие изменения в Elasticsearch 8.5 могут повлиять на ваши приложения и помешать их нормальной работе. Перед обновлением до версии 8.5 ознакомьтесь с этими изменениями и выполните описанные шаги для минимизации последствий.

Изменения в API REST

API bulk теперь отклоняет запросы, содержащие неизвестные действия

Подробности
Запросы к API bulk представляют собой последовательность элементов, каждый из которых начинается с JSON-объекта, описывающего элемент. Этот объект включает тип действия, которое необходимо выполнить с элементом, который должен быть одним из create, update, index или delete. Более ранние версии Elasticsearch имели ошибку, которая приводила к игнорированию элементов с неизвестным типом, пропускающему следующую строку в запросе, но такое снисходительное поведение означало, что клиент не может сопоставить элементы в ответе с элементами в запросе, и в некоторых случаях это приводило к некорректной обработке остальной части запроса.

Начиная с версии 8.5, запросы к API bulk должны содержать только элементы с известными типами. Elasticsearch отклонит запросы, содержащие элементы с неизвестным типом, с ошибочным ответом 400 Bad Request.

Мы считаем это изменение исправлением ошибки, но указываем его здесь как изменение, требующее миграции, поскольку оно может повлиять на поведение приложений, которые полагаются на возможность отправки неизвестных действий в Elasticsearch.

Последствия
Убедитесь, что ваше приложение отправляет в API bulk только элементы с типом create, update, index или delete.

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

Следующая функциональность устарела в Elasticsearch 8.5 и будет удалена в будущей версии. Хотя это не окажет немедленного влияния на ваши приложения, мы настоятельно рекомендуем выполнить описанные шаги по обновлению кода после обновления до 8.5.

Чтобы узнать, используете ли вы какие-либо устаревшие функции, включите логирование устаревших функций.

Устаревшие функции API плагинов

Плагины, расширяющие интерфейс NetworkPlugin, устарели.

Подробности

Подробности
Плагины могут переопределять функциональность, которая контролирует, как узлы подключаются к другим узлам по TCP/IP. Эти плагины расширяют интерфейс NetworkPlugin. В следующем крупном релизе эти плагины не будут установлены.

Последствия
Прекратите использование любых плагинов, которые расширяют NetworkPlugin. Вы можете проверить, используют ли какие-либо плагины устаревшие функции, проверив журнал устаревших функций Elasticsearch.

Расширение DiscoveryPlugin для переопределения валидаторов соединения или стратегий выборов устарело

Подробности
Плагины, расширяющие DiscoveryPlugin, могут переопределять getJoinValidator и getElectionStrategies. Эти методы являются деталями реализации механизма кластеризации в Elasticsearch. Их не следует переопределять. В следующем крупном релизе плагины, переопределяющие getJoinValidator или getElectionStrategies, не будут установлены.

Последствия
Прекратите использовать любые плагины, которые переопределяют getJoinValidator или getElectionStrategies в DiscoveryPlugin. Вы можете проверить, используют ли какие-либо плагины устаревшие функции, проверив журнал устаревших функций Elasticsearch.

© 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/migrating-8.5.html

Spec-Zone.ru

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