Rolling Upgrade Procedure

This topic contains the step-by-step procedure for performing a rolling upgrade.

Use the following steps to perform the rolling upgrade.

  1. If you have not done so already, backup your persistent disk store files. See backup.
  2. First upgrade one of the locators in the cluster. Open a terminal console on the machine of the locator you are upgrading and stop the locator:
    For example:
    $ gfxd locator stop -dir=locator_directory
  3. On the machine that hosts the locator that you want to upgrade, install the new version of the software. You can use either the downloaded RPM file or ZIP file, depending on which method you used to install the standalone GemFire XD 1.3.x product. See RHEL: Install GemFire XD from an RPM or Windows/Linux: Install GemFire XD from a ZIP File.
    If you use the RPM installer, use the rpm command to upgrade the GemFire XD software. For example:
    sudo rpm -Uvh pivotal-gemfirexd-1.4.0-50226.el6.noarch.rpm
    If you use the GemFire XD ZIP file, unzip the file and make sure you update your PATH environment variable to point to the new installation's /bin subdirectory. You can check the current version by executing the command:
    gfxd version
    GemFireXD product directory: /opt/Pivotal_GemFireXD_140_b50226_Linux
    Java version:   1.4.0 build 50226 12/09/2014 14:26:16 PST javac 1.7.0_72
    Native version: gemfirexd native code unavailable
    Running on: ward-4.local/192.168.52.1, 8 cpu(s), x86_64 Mac OS X 10.10
  4. Restart your locator using the new GemFire XD software:
    For example:
    $ gfxd locator start -dir=locator_directory
    Note: After you begin the rolling upgrade process by starting a locator with the version 1.4 software, you can no longer start GemFire XD members that use the version 1.3.x software. GemFire XD members at version 1.3.x will fail to connect to the distributed system with the message:
    Rejecting the attempt of a member using an older version of the product to join an upgraded distributed system.  
    Please restart the process using the new version of the product
  5. Confirm that the locator has started up and joined the cluster properly.
    For example, ensure that the startup messages indicate the correct number of members in the distributed system:
    GemFireXD Locator pid: 5462 status: running
      Distributed system now has 3 members.
      Other members: ward(5436:datastore)<v1>:57629, ward(5445:datastore)<v2>:37660
  6. Next upgrade all other locators. After you have confirmed the successful upgrade of one locator, upgrade all other locators in the cluster using the same procedure described in the previous steps. Confirm that each locator has joined the cluster successfully.
  7. After all locators are upgraded, upgrade one data store at a time in the cluster. If you are upgrading a data store that hosts partitioned tables, check the redundancy state of the tables before stopping the server or exporting its configuration and data. See Configure High Availability for a Partitioned Table for more information.
  8. Stop the data store member that you want to upgrade.
    For example:
    $ gfxd server stop -dir=server_directory
  9. On the machine that hosts the data store that you want to upgrade, install the new version of the software. You can use either the downloaded RPM file or ZIP file, depending on which method you used to install the standalone GemFire XD 1.3.x product. See RHEL: Install GemFire XD from an RPM or Windows/Linux: Install GemFire XD from a ZIP File.
    If you use the RPM installer, use the rpm command to upgrade the GemFire XD software. For example:
    sudo rpm -Uvh pivotal-gemfirexd-1.4.0-50226.el6.noarch.rpm
    If you use the GemFire XD ZIP file, unaip the file and make sure you update your PATH environment variable to point to the new installation's /bin subdirectory. You can check the current version by executing the command:
    gfxd version
    GemFireXD product directory: /opt/Pivotal_GemFireXD_140_b50226_Linux
    Java version:   1.4.0 build 50226 12/09/2014 14:26:16 PST javac 1.7.0_72
    Native version: gemfirexd native code unavailable
    Running on: ward-4.local/192.168.52.1, 8 cpu(s), x86_64 Mac OS X 10.10
  10. Restart the server using the new GemFire XD software:
    For example:
    $ gfxd server start -dir=locator_directory
  11. Confirm that the server has started up, joined the cluster properly and is communicating with the other members.
    For example, look in the server logs for a message similar to the following:
    GemFireXD Server pid: 5445 status: running
      Distributed system now has 3 members.
      Other members: ward(5425:locator)<v0>:28439, ward(5436:datastore)<v1>:57629
  12. Check the server log for any severe error messages. You should debug these issues before proceeding with the next server upgrade.
  13. If you restarted a member with partitioned tables, verify that the member is providing redundant buckets after the upgrade. See Configure High Availability for a Partitioned Table for instructions. Note that the number of buckets without redundancy will change as the server recovers, so you need to wait until this statistic either reaches zero or stops changing before you continue with the upgrade. If you have startup-recovery-delay=-1 configured for your partitioned table, you must rebalance buckets each time you start up an upgraded member.
  14. Update all the other server members. After confirming successful upgrade of a server member, repeat the process beginning with step 7 for the next member.
  15. If desired, upgrade GemFire XD clients. You can only do this after you have completed the upgrade on all locator and server members in the cluster.