Обновление#

Обновление производится с помощью находящейся в дистрибутиве ansible-роли.

Обновление DataGrid с помощью ansible-роли#

Шаги обновления#

Для обновления DataGrid:

  1. Перейдите в каталог с ansible-сценарием.

  2. В файле с описанием конфигурации inventory.yml измените переменную datagrid_local_distr_path на новый архив с DataGrid.

  3. Запустите ansible-playbook:

    ansible-playbook -i ./inventory.yml ./datagrid-install.yml

  4. Дождитесь завершения обновления.

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Обновление конфигурации DataGrid#

Шаги обновления#

Для обновления конфигурации DataGrid:

  1. Перейдите в каталог с ansible-сценарием.

  2. В файле с описанием конфигурации inventory.yml добавьте или измените переменные.

  3. Запустите ansible-playbook:

    ansible-playbook -i ./inventory.yml ./datagrid-install.yml

  4. Дождитесь завершения обновления.

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Обновление ролевой модели на версию 15.0#

Шаги обновления#

В версии DataGrid 15.0 добавлено новое право ADMIN_CLUSTER_STATE, которое позволяет управлять состоянием кластера. Подробнее в разделе «Ролевая модель в DataGrid» документа «Руководство по системному администрированию».

При обновлении DataGrid на версию 15.0:

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Обновление зависимостей на версию 15.0#

Шаги обновления#

В версии DataGrid 15.0 в связи с исключением зависимости ignite-indexing из модуля ignite-springпри условии использовании SQL и получении зависимости через maven необходимо проверить, что в pom-файле явно присутствует зависимость на один из SQL-движков (ignite-indexing или ignite-calcite).

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Обновление с версий 4.2130 и более ранних#

Шаги обновления#

В DataGrid до версии 14.0 значение CompactFooter для тонкого клиента по умолчанию — false. Начиная с версии 14.0 значение по умолчанию берется из конфигурации серверного узла. Поэтому перед обновлением на версию 14.0 и выше с предыдущих версий необходимо проверить, какое значения установлено для параметра CompactFooter на серверных узлах (СУ) и на тонких клиентах.

Внимание

Данный раздел актуален при соблюдении условий:

  • кластер до обновления настроен на работу с PDS, после обновления не планируется повторная загрузка данных;

  • с кластером работают тонкие клиенты разных версий — до версии 4.2131 и начиная с 4.2131.

Если значения CompactFooter:

  • для СУ – true и для тонкого клиента – true (рекомендуемые значения), то никаких действий предпринимать не требуется;

  • для СУ – true и для тонкого клиента – false, то необходимо на стороне тонкого клиента установить ClientConfiguration#setAutoBinaryConfigurationEnabled(false). Рекомендуется изменить значение CompactFooter для тонкого клиента на true;

  • для CУ – false и для тонкого клиента – true, то необходимо на стороне тонкого клиента установить ClientConfiguration#setAutoBinaryConfigurationEnabled(false). Рекомендуется изменить значение CompactFooter для СУ на true;

  • для CУ – false и для тонкого клиента – false, то никаких действий предпринимать не требуется. Рекомендуется изменить значение CompactFooter для СУ и тонкого клиента на true.

При одновременной работе разных версий клиента с одним кластером нужно добиться того, чтобы версия CompactFooter на тонких клиентах была одной и той же, с учетом того, что значение по умолчанию может измениться после обновления на версию 13.1 и выше.

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Обновление персистентных кластеров с версии Ignite SE 3.280 в случае использования плагина безопасности#

Шаги обновления#

Плагин безопасности в Ignite SE 3.280 использует ignite-sys-cache для сохранения учетных данных пользователей. При обновлении данный кеш требуется удалить во избежание аварийных ситуаций из-за ошибок несовместимости.

Причина проблемы: при миграции со старого плагина безопасности системный кеш не был очищен.

Без очистки ignite-sys-cache возможно появление ошибки B+Tree is corrupted с Failed to find class with given class loader for unmarshalling (make sure same versions of all classes are available on all nodes or enable peer-class-loading):

YYYY-MM-DD 09:26:06.937 [ERROR][rebalance-striped-#189][] Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet []]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=class o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is corrupted [groupId=-2100569601, pageIds=[], msg=Runtime failure on bounds: [lower=null, upper=null]]]]
org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is corrupted [groupId=-2100569601, pageIds=[], msg=Runtime failure on bounds: [lower=null, upper=null]]
...
Caused by: org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTreeRuntimeException: class org.apache.ignite.IgniteException: Failed to unmarshal object with optimized marshaller
...
Caused by: org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerInaccessibleClassException: Failed to find class with given class loader for unmarshalling (make sure same versions of all classes are available on all nodes or enable peer-class-loading) [clsLdr=jdk.internal.loader.ClassLoaders$AppClassLoader@2c13da15, cls=Failed to resolve class name [platformId=0, platform=Java, typeId=-201039783]]
...
Caused by: java.lang.ClassNotFoundException: Failed to resolve class name [platformId=0, platform=Java, typeId=-201039783]
...

В примере выше groupId=-2100569601 соответствует системному кешу ignite-sys-cache.

Проверка обновления#

Если после обновления кластер запускается без ошибок и к нему подключаются клиенты, обновление работоспособно.

Изменения в системных требованиях#

Для версии 17.7.0 программного продукта отсутствуют изменения в ПО.

Изменения в параметрах настройки#

Для версии 17.7.0 программного продукта отсутствуют изменения в параметрах настройки.