To upgrade an existing installation to a new version of VMware GemFire, follow these general steps:
In many cases, components running under the current version can be stopped selectively, then restarted under the new version so that the cluster as a whole remains functional during the upgrade process; this is known as a “rolling upgrade.”
In other cases, the entire system must be stopped in order to accomplish the upgrade, which will require some downtime for your system.
See Planning an Upgrade to choose the upgrade scenario that best suits your implementation and to understand the resources you will need to accomplish the upgrade. Then select the appropriate upgrade procedure for more detailed instructions that fit your specific needs.
This section discusses the upgrade paths for various VMware GemFire versions, and it lists information you need to know before you begin the upgrade process.
A rolling upgrade allows you to keep your existing cluster running while you upgrade your members one at a time.
An offline upgrade can handle the widest variety of software versions and cluster configurations, but requires shutting down the entire system for at least a short time.
When you upgrade your GemFire server software, you may need to update your client applications in order to maintain compatibility with the upgraded servers.
With GemFire version 10, the JGroups library is still included in order to support rolling upgrades from GemFire version 9. However, if all servers are running GemFire 10, it is possible for a user to remove the JGroups library without impacting the system.
You may wish to remove the JGroups library from GemFire, due to CVEs in the version of JGroups that is shipped with GemFire. The code related to these CVEs is not used in GemFire, so they do not represent a security risk to GemFire customers, but CVE scanners still flag JGroups as vulnerable.
To run GemFire without JGroups, following these steps:
Set the system property gemfire.disable-udp=true
.
Remove the JGroups .jar library from the /lib directory, i.e.: rm ./lib/jgroups-3.6.14.Final.jar
Remove the JGroups dependency from module.xml files. In the file /moduleDescriptors/gemfire/main/module.xml
, delete this line:
<resource-root path="${gemfire.home}/lib/jgroups-3.6.14.Final.jar"/>