Устранение функций в Elasticsearch - Журналы и API для определения устаревших функций

Под устареванием понимаются процессы и функции, которые находятся в процессе устранения и (возможно) замены на более новые.

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

Как это работает

Существует несколько способов узнать, какие функции были устаревшими, в том числе: журналы устаревания, чтение документации на страницах разрушения и внимание к предупреждениям.

В журнале устаревания:

Чтение документации по изменениям для каждой версии:

https://www.elastic.co/guide/en/elasticsearch/reference/7.5/breaking-changes-7.0.html

В kibana также может появиться предупреждение о запуске устаревшей команды в панели разработки:

Важно принять меры в соответствии с этими предупреждениями. Хотя ваше приложение по-прежнему работает, игнорирование предупреждений почти наверняка приведет к сбоям в работе при последующем обновлении.

API для определения устаревших функций

Существует API устаревания, с помощью которого можно указать на устаревшие функции на вашем кластере:

Версия 5.6-6.8 GET /_xpack/migration/deprecations
Версия 7 GET /_migration/deprecations

Однако никогда не следует полагаться только на deprecation API. Если API возвращается без проблем, это не означает, что при миграции все в вашей конфигурации будет работать! Этим следует пользоваться в дополнение к журналу устаревания и документации по изменениям.

Примеры

  • Удаление типов документов ("_type") . В версии 6 в одном индексе можно было использовать различные типы документов, но теперь эта возможность удалена. При использовании типов документов в запросах будут выдаваться предупреждения, а в версии 7 разрешено использовать только 1 тип документа в одном индексе. Ожидается, что эта функциональность будет полностью удалена в версии 8.
  • Параметр discovery.zen.minimum_master_nodes разрешен, но игнорируется на узлах версии 7.x.

Множество других примеров можно найти в документации по изменениям.

Примечания и полезные сведения

Важно посетить ВСЕ изменения для каждой минорной версии между используемой версией и версией, на которую вы хотите перейти.

https://www.elastic.co/guide/en/elasticsearch/reference/8.11/migrating-8.10.html

Содержит информацию, которая не упоминается на следующей странице.

https://www.elastic.co/guide/en/elasticsearch/reference/8.11/migrating-8.11.html

Лучше всего перейти на страницу "breaking changes" той версии, на которую вы хотите перейти, а затем, используя ссылки, просмотреть все страницы минорных версий вплоть до той, на которую вы хотите перейти, обращая особое внимание на изменение мажорной версии (например, 8.0).

Понравилась статья? Поделиться с друзьями:
Добавить комментарий