How to update a RHDG cluster in case of a new RHDG version or configuration changes?

Solution Verified - Updated

Environment

  • Red Hat Data Grid (RHDG)
    • 7.x

Issue

  • There is a new JDG version, how can I update my cluster without downtime?
  • I need to change my cache configuration, is it possible to do this without the downtime and update the configuration node by node?
  • Is it possible to update an existing installation to the next minor version or do I need to install it as a new instance?
  • Will the upgrade from JBoss Data Grid 7.0.x to JBoss Data Grid 7.1 will be an applying a patch or a fresh installation?
  • When should I use Rolling Upgrade for RHDG
  • Is it possible to use the rolling upgrade feature to migrating from JDG6 to JDG7?
  • Can I use a rolling upgrade if I use embedded mode and not the JDG server?
  • We have several JDG clusters and all on version 7.0.1. I want to upgrade it to the latest versions.
  • What is a good practice to upgrade? Do i apply a patch? if yes where can i find it and how to apply? or do i have to do fresh installation? in that case what will happen to existing clusters?

Resolution

As RHDG is distributed in different ways the update will be a replacement of the full version for servers and applications which have the embedded libraries included.
There are some exceptions for micro/CP releases see below.

Updating micro versions, also known as CP (Cumulative Patch) releases

Such releases are compatible and a cluster can run with a mix of it for a limited time.
Note that we recommend a mix only for the purpose of migration for a limited time and not keep that in production for long.

If RHDG server is used a micro version is provided as a patch and can be applied to an existing installation, see RHDG server patch feature
If the application is deployed in an EAP instance and the RHDG modules for the EAP server are used it is possible to replace the modules as the used slot will contain only the major.minor version and the application dependency is not needed to adjust.

Upgrade minor or major versions

It is not possible to keep such versions fully compatible. There are complex communication libraries like JGroups or the object serialization.
These components might have changes that can cause issues in some use-cases (or all).

It is neither tested nor ensured that a cluster that contains different minor versions will behave correctly. We strongly recommend using Rolling Upgrade
For a major version upgrade will definitively not work!

For this, it is possible to use the Rolling Upgrade to have no downtime for migration.

Skip several minor or major version

In that case, users should carefully read the migration guide for each version first.
The reason is that there might be descriptions of what has been deprecated or removed from the API.
Also whether persistent stores are not compatible and need extra migration.
It is possible to install the new version and use the older persisted data or follow the Rolling Upgrade procedure.

Migrate legacy RHDG version

For 6.6.x and 7.0.0, it will be possible to upgrade the servers without downtime to 6.6.2/7.0.1 as the micro (aka CP) versions can run in the same cluster.
For this please update each server and follow the steps for Rolling Upgrade of 6.6.2

Releases older than 6.6 could not be migrated directly as the source cluster needs to be checked individually whether it is possible to patch it without downtime.
Possible options are (if downtime is accepted)

  • Use the cache-store and start the new version with the same cache store, for File-Cache-store the data directory can be copied
  • Start the new cluster in parallel and implement a simple client to read from the source cluster and write to the target. Here users need to consider when to stop/move the clients as updates to the source cluster might be lost.

This content is not included.Migration Guilde RHDG 7.2
This content is not included.Migration Guide JDG 7.1
This content is not included.Migration Guide JDG 7.0

Migration for the JDBC cache store is needed for migrations from JDG 6.1 (and before) to any later version!
What is the purpose of the JDG Migration tool

Product(s)
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.