Pivotal GemFire Release Notes

Note: General support includes security vulnerability resolutions and critical bug fixes in all supported minor versions, while other maintenance is applied only to the latest supported minor release.

Pivotal GemFire 9.1 is based on Apache Geode version 1.2. Pivotal GemFire 9.1 and Apache Geode share a common set of documentation. Therefore, references to both GemFire and Apache Geode appear throughout this documentation; consider them equivalents.

What’s New in Pivotal GemFire 9.1

  • A fully-integrated Lucene text search using indexes. See Apache Lucene Integration.

  • Improved the resiliency of servers during SSL handshake.

  • A provided PartitionResolver enables the colocation of related data without writing and deploying a custom partition resolver.

  • There is a gfsh import option to invoke callbacks such as CacheListeners when importing a region snapshot file.

  • The following previously-deprecated classes have been removed:

    • CacheEvent.isDistributed, CacheEvent.isExpiration
    • DataSerializer.register
    • EntryEvent.isBridgeEvent, EntryEvent.isLoad, EntryEvent.isLocalLoad, EntryEvent.isNetLoad, EntryEvent.isNetSearch
    • EntryNotFoundInRegion
    • some overloads of Execution.execute
    • some overloads of FunctionService.onMembers
    • LicenseException
    • ObjectSizerImpl
    • RemoteTransactionException
    • Region.entries(boolean), Region.keys

Installing Pivotal GemFire 9.1

You can download Pivotal GemFire 9.1 from the Pivotal GemFire product download page.

For details on how to install Pivotal GemFire 9.1, see Installing Pivotal GemFire.

Upgrading to Pivotal GemFire 9.1

To upgrade from an earlier version of GemFire to the current version, see Upgrading Pivotal GemFire.

Note that an extra restart of servers within clusters that are upgraded to GemFire version 9.1.1 or a more recent version from a version prior to version 9.1.1 will be needed once the clients have been upgraded, if the SecurityManager interface has been implemented.

Resolved Issues

The GemFire 9.1 release is based on the Apache Geode 1.2 release. Here is a list of all issues resolved for Geode 1.2.

Issues Resolved in Pivotal GemFire 9.1.1

The following issues have been resolved in GemFire 9.1.1. Ticket numbers of the form GEODE‑NNNN can be inspected at the Apache Software Foundation site for Geode issues.

GEODE-2018, GEM-1069: Modified the session caching mechanism to register instantiators earlier in the startup process.

GEODE-3030: Set possibleDuplicate=true for all bucket events after failover.

GEODE-3043, GEM-1449: Modified the Membership Manager to eliminate addition of a “surprise member” when the member is already in the cluster.

GEODE-3052: Eliminated a potential “split brain” condition resulting from restarting locators in rapid succession.

GEODE-3097: Enabled gfsh with SSL over HTTP.

GEODE-3101: Improved the release of local locks held in a client when a transaction fails on the server.

GEODE-3147: Fixed a communication buffer issue for threads sending transaction synchronization messages.

GEODE-3193: Deferred pid file removal to a later stage of the shutdown sequence to improve diagnosis and recovery.

GEODE-3206, GEM-1594: Ensured that gfsh lucene search results are listed in order of relevancy.

GEODE-3217, GEODE-3410: Reimplemented gfsh query as a single step command.

GEODE-3286: Fixed a condition in which improperly handled closed connections could lead to an OutOfMemoryError exception.

GEODE-3291, GEM-1592: Added the soundex analyzer’s jar to support Lucene searches.

GEODE-3249: Increased authorization requirements for internal client/server messages.

GEODE-3314: Fixed a re-use conflict in the handling of remote and local locking tokens.

GEODE-3315: Fixed a deserialization issue with client queues that could result in a NullPointerException.

GEODE-3379, GEM-1517: Improved the coordination of transaction commits following data rebalancing.

GEODE-3445: Added a gfsh connect option to skip SSL validation.

GEODE-3513: For generic app servers, improved the cleanup of native sessions in proxy mode.

GEODE-3519: Implemented additional locking on invalidate and remove operations initiated by clients.

GEM-1256: Addressed a Java-level deadlock affecting function execution and some other membership tasks.

GEM-1492: Improved the handling of JTA exception and the subsequent release of local locks on a client node.

GEM-1576: Fixed one-way SSL commit between client and server.

GEM-1645: Added documentation for automated rebalancing.

Known Issues

The following known issues affect GemFire 9.1:

GEM-2341: The HTTP session module creates its region that holds metadata on only one server within a cluster. The region needs to be hosted on all the servers.

Note: This issue applies only to clusters in which the region for metadata was created for you using default settings (that is, if the metadata region’s name is not set within the context.xml file). If you created your own custom region for the metadata (that is, if the metadata region’s name is set within the context.xml file), do not apply this workaround.


To correct the issue on a running cluster, alter the region holding the metadata twice, restarting servers between the two gfsh alter region commands.

  1. Connect to the cluster with the gfsh connect command.

  2. The first alteration temporarily sets an unused attibute to the value 1, and the alteration command will fail on all servers but the single server that hosted the metadata region. However, the correct metadata region configuration will be propagated to all servers.

    gfsh>alter region --name=gemfire_modules_sessions --eviction-max=1

    Note that this gfsh alter region command will fail on all but one server. Make note of the SERVER-NAME of each server for which the command fails.

  3. Work sequentially through the list of servers that failed the gfsh alter region command to restart each server by stopping and then starting it. First, stop the server:

    stop server --name=SERVER-NAME

    Then, start the server with a command of the form:

    start server --name=SERVER-NAME --use-cluster-configuration=true
  4. The second alteration resets the unused attribute to its original value of 0.

    gfsh>alter region --name=gemfire_modules_sessions --eviction-max=0
  5. You can verify that the region is hosted on all servers with a gfsh command of the form:

    describe region --name=gemfire_modules_sessions

GEM-868/GEODE-2180: Reconfiguration of the cache when autoreconnecting does not work with the default settings for use-cluster-configuration if the cache is configured through API calls. Either disable autoreconnect or disable use of the cluster configuration service.