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.3, see Issues Resolved in Pivotal GemFire 9.5.3.
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:
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.
load-cluster-configuration-from-diroption of the
gfsh start locatorcommand is deprecated.
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
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
geode.disallow-internal-messages-without-credentials system property set to
gfsh>start server --name=server_name --dir=server_config_dir \ --J=-Dgeode.disallow-internal-messages-without-credentials=true
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.
GEODE-92: Fixed a bug in which custom expiry code that called
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
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.
If the metadata region’s name is set in a
see Known Issues for the workaround to host
the metadata region on all the 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.
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.
GEODE-3563, GEM-2053: Improved SSL handshake and connection reliability.
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
DataSerializer classes at startup.
GEODE-5230: Fixed a case in which Pulse did not work when SSL was enabled for JMX.
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
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
gfsh configure pdx with 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
pdx-read-serialized=false property that
manifested itself as an incorrect attempt to deserialize an instance
PdxInstance class was not on the classpath.
GEODE-4867, GEM-1958: Ensure that the
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
to return null when the entry exists.
GEODE-4960, GEM-1965: Fixed a bug that prevented deploying JAR files
when SSL was enabled.
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
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”.
The following known issues affect GemFire 9.5:
The HTTP session module creates its region that holds metadata on only one server within a cluster for systems in which the metadata region’s
name is set within a
The region needs to be hosted on all the servers.
To correct the issue on a running cluster, connect to the cluster
and run a single
to create the metadata region on all servers.
The command has the form:
create region --name=REGION-NAME --type=REGION-SHORTCUT \ --enable-statistics \ --entry-idle-time-custom-expiry=org.apache.geode.modules.util.SessionCustomExpiry
Substitute the metadata region’s name for
regionAttributesId in a
context.xml file defines a
substitute its value for
REGION-SHORTCUT in the
create region command.
See Changing the Default GemFire Configuration in the Tomcat Module
for details on the
You can verify that the region is hosted on all servers with the
gfsh>describe region --name=REGION-NAME
Substitute the metadata region’s name for
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
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
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.