Pivotal GemFire Release Notes

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

For more information on issues resolved in GemFire v9.5.4, see Issues Resolved in Pivotal GemFire 9.5.4.

What’s New in Pivotal GemFire 9.5

Pivotal GemFire 9.5 includes the following improvements:

  • New gfsh commands work with JNDI bindings:

    • gfsh describe jndi-binding
    • gfsh destroy jndi-binding
    • gfsh list jndi-binding
  • Three new attributes on the gateway sender MBean monitor events that are overflowed to disk:

    • lruEvictions displays as LRUEvictionsRate in JConsole
    • entriesOnlyOnDisk displays as EntriesOverflowedToDisk in JConsole
    • bytesOnlyOnDisk displays as BytesOverflowedToDisk in JConsole
  • The GemFire-Greenplum Connector is now incorporated into the GemFire release, eliminating the need for a separate download of the connector JAR file. The connector JAR file is automatically included in the classpath, thereby simplifying member startup.

  • The load-cluster-configuration-from-dir option of the gfsh start locator command is deprecated.

Installing Pivotal GemFire 9.5

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

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

Note that the file name extension for the compressed TAR file is .tar.gz (rather than .tgz).

Upgrading to Pivotal GemFire 9.5

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

When servers are upgraded to this GemFire version from a version prior to version 9.1.1, their authentication of client messages is disabled in order to facilitate rolling upgrades. If your clients are set up to send authenticated messages, the servers will honor those messages, but will not enforce authentication until you reinstate authentication on each of the upgraded servers.

To reinstate secure client/server messaging, restart each server with the geode.disallow-internal-messages-without-credentials system property set to true. For example:

gfsh>start server --name=server_name --dir=server_config_dir \

Resolved Issues

The GemFire 9.5 release is based on the Apache Geode 1.6 release. This section describes issue resolutions that significantly affect GemFire applications. For a list of all issues resolved in Geode 1.6, see the Geode 1.6 Release Notes. Ticket numbers of the form GEODE‑NNNN can be inspected at the Apache Software Foundation site for Geode issues.

Issues Resolved in Pivotal GemFire 9.5.4

GEODE-3948: Ensured that client/server connection read timeout is honored.

GEODE-6271, GEM-2356: Improved support of clients connected to multiple distributed systems by copying serialized types between clusters.

GEODE-6544: Allowed retry of Pulse login following an unsuccessful login attempt.

GEODE-6922, GEM-2550: Improved the retrieval of active sessions count by load-balancing the operations among multiple servers.

Issues Resolved in Pivotal GemFire 9.5.3

GEODE-92: Fixed a bug in which custom expiry code that called getValue() could cause a deadlock that resulted in no region operations completing. The previous fix for GEODE-92 did not cover all possibilities.

GEODE-4285, GEM-1146: Fixed a race condition when finding a PDX type during a get operation by adding a distributed lock and retrying.

GEODE-5646, GEM-2188: Fixed an error in client locator communications that could occur when a locator is shutting down.

GEODE-6125, GEM-2341: Fixed a bug with the HTTP session store that resulted in the region that holds metadata not being created on all servers.

GEODE-6177: Improved the gateway sender’s ability to re-authenticate upon reconnection following a dropped WAN connection.

GEODE-6267, GEODE-6287, GEM-2352: Fixed server-side memory leaks that occurred during client departure.

GEODE-6344, GEM-2365: Fixed a source of spurious socket read timeout exceptions on client proxy reconnection requests by replacing existing proxies with new instances.

Issues Resolved in Pivotal GemFire 9.5.2

GEODE-5559: Decreased server startup time when recovering region data.

GEODE-5631: Fixed a memory leak that caused certain WAN messages during region synchronization to remain queued.

GEODE-5649: Fixed a bug that could lead to getAll() requests taking too long on a single client.

GEODE-5747, GEM-2224: Improved WAN connection reliability in the face of serialization errors.

Issues Resolved in Pivotal GemFire 9.5.1

GEODE-3563, GEM-2053: Improved SSL handshake and connection reliability.

GEODE-5194: The gfsh version check permits the patch number to differ. For example, a 9.5.0 gfsh client may connect with a 9.5.1 locator without failing due to a version incompatibility.

GEODE-5198, GEM-2039: Improved thread safety and performance in the loading of DataSerializer classes at startup.

GEODE-5230: Fixed a case in which Pulse did not work when SSL was enabled for JMX.

Issues Resolved in Pivotal GemFire 9.5.0

GEODE-2321: Fixed Pulse to work correctly in locales other than the US.

GEODE-3456, GEM-1917: Fixed a bug that caused Pulse to display a nonexistent cluster.

GEODE-3891, GEM-1777: Fixed an issue that prevented the ability to set specific ciphers for the REST interface.

GEODE-3922: Corrected the Pulse help tab link.

GEODE-4451: Fixed a bug which left a gateway sender in an unusable state when authentication failed between the sender and receiver. Now an authentication exception is thrown, and, similar to an IOException, the gateway sender will continue to retry the connection while the sender queue grows until either authentication succeeds or the operator destroys the sender.

GEODE-4475, GEM-1677: Eliminated displaying some JVM arguments.

GEODE-4497: Fixed a gfsh output text wrapping error.

GEODE-4755: Fixed a bug that prevented deploying JAR files on Windows platforms.

GEODE-4765, GEM-1918: Fixed an issue in which cluster configuration did not respond after a locator reconnected to the distributed system.

GEODE-4769: Region entries are now serialized before putting them in a local cache.

GEODE-4771, GEM-1929: Corrected the implementation of gfsh configure pdx with the auto-serializable-classes option. The check-portability attribute is now false.

GEODE-4823, GEM-1936: Prevent tombstones from being added to an index during region initialization to avoid a lengthy initialization period.

GEODE-4840: Fixed a bug in honoring the pdx-read-serialized=false property that manifested itself as an incorrect attempt to deserialize an instance when the PdxInstance class was not on the classpath.

GEODE-4867, GEM-1958: Ensure that the MAX_QUERY_EXECUTION_TIME system variable is honored during long queries to avoid hitting an out of memory exception.

GEODE-4893, GEM-1974: Fixed a gfsh import cluster-configuration bug that inadvertently shut down a server.

GEODE-4902, GEM-1942: Fixed a bug that prevented logging markers.

GEODE-4928, GEM-1487: Fixed a timing issue in transaction locking that manifested as a commit conflict after a server crash.

GEODE-4930: Implemented feature flagging for gfsh commands.

GEODE-4933: Entry expiration now updates the last accessed time on proxy (normal) or local (preloaded) replicated regions.

GEODE-4957: Fixed a race condition that existed when there were concurrent create entry operations in progress. The race condition could cause a putIfAbsent call to return null when the entry exists.

GEODE-4960, GEM-1965: Fixed a bug that prevented deploying JAR files when SSL was enabled. A ConnectIOException appeared in the output.

GEODE-5039: Fixed a bug that prevented an invocation of EvictionAttributesMutator.setMaximum from setting the maximum number of events.

GEODE-5085, GEM-2010: Fixed a bug that caused an AuthenticationRequiredException upon an autoreconnect of a server.

GEODE-5302, GEM-2046: Corrected compaction reporting to prevent bloating the info logs with repeated occurrences of the message “compaction did 0 creates and updates in 0 ms”.

Known Issues

The following known issues affect GemFire 9.5:

GEM-1197: If the initialization of a Spring container is not complete upon the start or restart of an embedded locator, deadlock can result. Avoid this issue by completing Spring container initialization before starting locators or servers; start GemFire processes in the Spring container’s startup event.

GEM-2009: A race condition exists that can cause a hang in the execution of a region set operation (values, keySet, keySetOnServer, or entrySet). The race exists when clients that are GemFire version 9.2 or earlier run with servers that are GemFire 9.3.0 or later and the region set operation is the first operation within a transaction. To avoid this race condition, set the system property geode.restoreSetOperationTransactionBehavior to true for servers when upgrading the servers.


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.

Obtaining and Installing Security Updates

New versions of Pivotal GemFire often include important security fixes, so Pivotal recommends you keep up to date with the latest releases.

For details about any security fixes in a particular release, see the Pivotal security page.