Chapter 6. Upgrading Data Grid clusters
Data Grid Operator lets you upgrade Data Grid clusters from one version to another without downtime or data loss.
Hot Rod rolling upgrades are available as a technology preview feature.
6.1. Technology preview features
Technology preview features or capabilities are not supported with Red Hat production service-level agreements (SLAs) and might not be functionally complete.
Red Hat does not recommend using technology preview features or capabilities for production. These features provide early access to upcoming product features, which enables you to test functionality and provide feedback during the development process.
For more information, see Red Hat Technology Preview Features Support Scope.
6.2. Data Grid cluster upgrades
The spec.upgrades.type
field controls how Data Grid Operator upgrades your Data Grid cluster when new versions become available. There are two types of cluster upgrade:
Shutdown
- Upgrades Data Grid clusters with service downtime. This is the default upgrade type.
HotRodRolling
- Upgrades Data Grid clusters without service downtime.
Shutdown upgrades
To perform a shutdown upgrade, Data Grid Operator does the following:
- Gracefully shuts down the existing cluster.
- Removes the existing cluster.
- Creates a new cluster with the target version.
Hot Rod rolling upgrades
To perform a Hot Rod rolling upgrade, Data Grid Operator does the following:
- Creates a new Data Grid cluster with the target version that runs alongside your existing cluster.
- Creates a remote cache store to transfer data from the existing cluster to the new cluster.
- Redirects all clients to the new cluster.
- Removes the existing cluster when all data and client connections are transferred to the new cluster.
You should not perform Hot Rod rolling upgrades with caches that enable passivation with persistent cache stores. In the event that the upgrade does not complete successfully, passivation can result in data loss when Data Grid Operator rolls back the target cluster.
If your cache configuration enables passivation you should perform a shutdown upgrade.
6.3. Upgrading Data Grid clusters with downtime
Upgrading Data Grid clusters with downtime results in service disruption but does not require any additional capacity.
Prerequisites
- The Data Grid Operator version you have installed supports the Data Grid target version.
If required, configure a persistent cache store to preserve your data during the upgrade.
ImportantAt the start of the upgrade process Data Grid Operator shuts down your existing cluster. This results in data loss if you do not configure a persistent cache store.
Procedure
-
Specify the Data Grid version number in the
spec.version
field. Ensure that
Shutdown
is set as the value for thespec.upgrades.type
field, which is the default.spec: version: 8.4.6-1 upgrades: type: Shutdown
- Apply your changes, if necessary.
When new Data Grid version becomes available, you must manually change the value in the spec.version
field to trigger the upgrade.
6.4. Performing Hot Rod rolling upgrades for Data Grid clusters
Performing Hot Rod rolling upgrades lets you move to a new Data Grid version without service disruption. However, this upgrade type requires additional capacity and temporarily results in two Data Grid clusters with different versions running concurrently.
Prerequisite
- The Data Grid Operator version you have installed supports the Data Grid target version.
Procedure
-
Specify the Data Grid version number in the
spec.version
field. Specify
HotRodRolling
as the value for thespec.upgrades.type
field.spec: version: 8.4.6-1 upgrades: type: HotRodRolling
- Apply your changes.
When new Data Grid version becomes available, you must manually change the value in the spec.version
field to trigger the upgrade.
6.4.1. Recovering from a failed Hot Rod rolling upgrade
You can roll back a failed Hot Rod rolling upgrade to the previous version if the original cluster is still present.
Prerequisites
- Hot Rod rolling upgrade is in progress and the initial Data Grid cluster is present.
Procedure
Ensure the Hot Rod rolling upgrade is in progress.
oc get infinispan <cr_name> -o yaml
The
status.hotRodRollingUpgradeStatus
field must be present.Update
spec.version
field of yourInfinispan CR
to the original cluster version defined in thestatus.hotRodRollingUpgradeStatus
.Data Grid Operator deletes the newly created cluster.