Pivotal GemFire Release Notes

Pivotal GemFire 9.9 is based on Apache Geode version 1.10. Pivotal GemFire 9.9 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.9.1

Pivotal GemFire 9.9.1 is a maintenance release that resolves a variety of issues—see Issues Resolved in Pivotal GemFire 9.9.1 for more information.

What’s New in Pivotal GemFire 9.9.0

Warning: Pivotal GemFire 9.9.0 is no longer available for download due to an issue in which SSL buffer references were not collected by the Java garbage collector in situations where SSL was enabled, causing the cluster to run out of memory. Upgrade to GemFire 9.9.1, which fixes the issue.

Pivotal GemFire 9.9.0 includes the following improvements:

  • Implemented many performance improvements including, but not limited to:
    • Added connection pooling that significantly improves performance while reducing the consumption of socket resources
    • Optimized lock usage and reduced lock contention
    • Optimized serialization performance and better targeted its usage
    • Optimized client/server messaging
  • Applied Java non-blocking I/O (NIO) to improve scalability of peer-to-peer SSL connections
  • Improved gateway senders and receivers to harden data recovery and reliability over WAN connections
  • Introduced the ability to replace Log4j with an alternative logging scheme. To use an alternative appender for writing to log files, exclude “log4j-core” from your classpath.
  • Added support on the public API for two-phase commit transactions
  • Added commands to pause and resume event processing in asynchronous event queues. For details, see create async-event-queue, alter async-event-queue, and resume async-event-queue-dispatcher.

Installing Pivotal GemFire 9.9

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

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

Upgrading to Pivotal GemFire 9.9

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.9 release is based on the Apache Geode 1.10 release. This section describes issue resolutions that significantly affect GemFire applications. For a list of all issues resolved in Geode 1.10, see the Geode 1.10 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.9.1

  • GEODE-6661, GEM2836: Fixed an issue in which SSL buffer references were not collected by the Java garbage collector in situations where SSL was enabled, causing the cluster to run out of memory.
  • GEODE-7261, GEODE-7334, GEM-2705: Corrected CLASSPATH issues that prevented the developers REST API from starting. Changes included adding the spring-core JAR file, and removing JodaModule JAR and Spring 5.x JARs.
  • GEODE-7268, GEM-2692: Fixed a problem in which use of the gfsh alter region command to add gateway senders could cause server restart and recovery of persistent data to hang, citing problems with offline colocated regions.
  • GEODE-7465, GEM-2773: Fixed a problem in which an asynchronous event queue could fail to restart with a RegionDestroyedException due to incomplete cleanup of the queue at the time it was stopped.
  • GEODE-7373, GEM-2746: Corrected a JMX deserialization vulnerability by restricting the types of credentials considered acceptable.
  • GEODE-7473, GEM-2774: Fixed a memory leak in WAN gateway senders caused by accumulation of entry event objects.
  • GEODE-7593, GEM-2795: Fixed a memory leak in which indexes could retain references to serialized values when eviction should have released that memory.

Issues Resolved in Pivotal GemFire 9.9.0

  • GEM-2277, GEODE-6152: Removed use of optimized gets (futures) for proxy regions, due to thread-safety issues.
  • GEM-2366, GEODE-7022: Added SSL alias support for JMX Clients.
  • GEM-2382, GEODE-6719: An application server module can now successfully restart using a DEFAULT diskstore in a user-defined directory location.
  • GEM-2387, GEODE-6665: Fixed an issue with session module attempting to create regions on locators.
  • GEM-2430, GEODE-6526: Fixed a possible deadlock in tombstone garbage collection thread.
  • GEM-2471, GEODE-6759: Implemented a safeguard to prevent a connection pool from being unregistered when still in use.
  • GEM-2472, GEODE-6709: Implemented an interlock to prevent locators from starting when the ClusterManagement and JMX Manager settings are mutually incompatible.
  • GEM-2477, GEODE-4958: Reduced the log level of AuthenticationRequiredException from Error to Warning.
  • GEM-2478: AEQ event processing before region initialization causes deadlock while starting servers
  • GEM-2502, GEODE-6746: Streamlined logfiles by printing the notifier “hostname validation disabled due to SSL configuration” just once.
  • GEM-2506, GEODE-6721: Fixed an issue with the gfsh start locator command in which a secondary IP address specified using the –bind-address option would be overridden by the host’s default IP address.
  • GEM-2511, GEODE-6767: Fixed an issue in which loss of metadata on a partitioned region affected rebalancing and bucket creation.
  • GEM-2545, GEODE-6806: Fixed an issue with query JOIN which could result in incorrect results.
  • GEM-2548, GEODE-6821: Fixed a WAN issue where multiple primary serial gateway senders in different members could cause a deadlock.
  • GEM-2550, GEODE-6922: To improve performance, region size inquiries are now distributed among multiple servers.
  • GEM-2551, GEODE-6851: Fixed issues that prevented the Pulse data browser from showing query results.
  • GEM-2565, GEODE-6833: Allow peer-to-peer SSL authentication to be selectively disabled.
  • GEM-2579, GEODE-6904: Fixed an issue in which one member of a cluster could fail to receive the cluster configuration during an auto-connect following a network partition.
  • GEM-2588, GEODE-6928: Fixed an issue causing repeated TCP reconnections when SSL was used with conserve-sockets=false.
  • GEM-2621, GEODE-6999: Fixed issue with parsing of the attribute disk-usage-warning-percentage which caused an NPE and startup failure.
  • GEM-2623, GEODE-7079: Fixed a restart timing issue that could occur when Asynchronous Event Distribution and Conflation are in effect.
  • GEM-2647, GEODE-7085: Allow extremely large region version values (greater than Integer.MAX_VALUE) when recovering from disk.
  • GEM-2648, GEODE-7080: Fixed a bug in which export of an offline snapshot could fail if a deleted entry was detected in the region.
  • GEODE-7208, GEM-2698: Improved serialization to better support Lucene indexing on inherited fields.
  • GEODE-6930: Explicitly specified DATA_READ permissions for Lucene user functions, as their default permissions were so broad they were prevented from running on secure systems when called from client applications.
  • GEODE-7178: Restored the server’s compatibility with Native Client version 9.2+ ‘destroy’ operations, which had been inadvertently disabled in earlier versions.
  • GEODE-7261: Add spring-core to the geode-web war artifact.
  • GEODE-7284: A durable client’s CacheClientProxy was sometimes not being kept on the server when it should have been, causing a RejectedExecutionException for other CacheClientProxies on the same host closing at the same time.


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.