Planning an Upgrade
Before you upgrade your system, back it up. Make backup copies of all existing disk-stores,
server-side code, configuration files, and data across the entire cluster. To get a backup of the
data that includes the most recent changes may require that traffic across the cluster is stopped
before the backup is made.
The discussion at Creating Backups for System Recovery and Operational Management
explains the process, and the
backup disk-store command reference page describes
how to use the gfsh backup disk-store
command to make a backup.
Guidelines for Upgrading
- Schedule your upgrade during a period of low user activity for your system and network.
- Verify that the machines hosting the cluster members meet the Host Machine Requirements of the upgraded cluster.
- Important: After all locators have been upgraded, do not start or restart any processes that use the older version of the software. The older process will either not be allowed to join the cluster or, if allowed to join, can potentially cause a deadlock.
Verify that all members that you wish to upgrade are members of the same cluster. A list of cluster members will be output with the
gfsh
command:gfsh>list members
Locate a copy of your system’s startup script, if your site has one (most do). The startup script can be a handy reference for restarting upgraded locators and servers with the same
gfsh
command lines that were used in your current installation.Identify how your current cluster configuration was specified. The way in which your cluster configuration was created determines which commands you use to save and restore that cluster configuration during the upgrade procedure. There are two possibilites:
- With
gfsh
commands, relying on the underlying cluster configuration service to record the configuration: see Exporting and Importing Cluster Configurations. - With XML properties specified through the Java API or configuration files: see Deploying Configuration Files without the Cluster Configuration Service.
- With
Do not modify region attributes or data, either via
gfsh
orcache.xml
configuration, during the upgrade process.If possible, follow the Rolling Upgrade procedure. A multi-site installation can also do rolling upgrades within each site. If a rolling upgrade is not possible, follow the Off-Line Upgrade procedure. A rolling upgrade is not possible for a cluster that has partitioned regions without redundancy. Without the redundancy, region entries will be lost when individual servers are taken out of the cluster during a rolling upgrade.
Version Compatibilities
Your choice of upgrade procedure depends, in part, on the versions of Apache Geode involved.
Version Compatibility Between Peers and Cache Servers
For best reliability and performance, all server components of a Geode system should run the same version of the software. For the purposes of a rolling upgrade, you can have peers or cache servers running different minor versions of Apache Geode at the same time, as long as the major version is the same. For example, some components can continue to run under version 1.14 while you are in the process of upgrading to version 1.15.
Version Compatibility Between Clients and Servers
Client/server access is backward compatible. An Apache Geode cluster can be accessed by clients using any previous version. However, clients cannot connect to servers running older versions of Apache Geode. For example, a client running Apache Geode 1.14 can access a cluster running Apache Geode 1.15, but a client running Apache Geode 1.15 could not connect to a cluster running Apache Geode 1.14.
Version Compatibility Between Sites in Multi-Site (WAN) Deployments
In multi-site (WAN) deployments, sites should still be able to communicate with one another, even if they use different versions.