Pivotal GemFire 9.4 Release Notes
Pivotal GemFire 9.4 is based on Apache Geode version 1.5. Pivotal GemFire 9.4 and Apache Geode share a common set of documentation. Therefore, references to both GemFire and Apache Geode appear throughout this documentation; consider them equivalents.
Pivotal GemFire 9.4 includes the following improvements:
Added support for arithmetic operators (
*) in the WHERE clause of OQL queries.
Added a new API to destroy a gateway receiver within the
There is a new Geode example that demonstrates expiration.
The Geode example on client security now uses SSL.
Improved the eviction algorithm’s performance to be more consistent.
When a transaction destroys a region entry on a region that has eviction, the region will now be available for garbage collection.
Backup code is now more modular and extendable for future plugins.
Listparameter to the
Region.registerInterestmethod has been deprecated. The
Regioninterface API has been enhanced to include register interest methods specifically for all keys and a list of keys.
New and enhanced
- Attempting to connect an older version of gfsh to a newer version locator now fails.
- You can supply arguments via gfsh while initializing a
- There is a new
gfshcommand to create a JNDI binding.
- You can set a custom expiry for create and alter region gfsh commands.
gfsh describe regioncommand lists the custom expiry setting.
gfsh connectcommand now infers the correct connection mechanism of HTTP or HTTPS.
--template-regionoption of the
gfsh create regioncommand has been deprecated.
You can download Pivotal GemFire 9.4 from the Pivotal GemFire product download page.
For details on how to install Pivotal GemFire 9.4, 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.4.0 release is based on the Apache Geode 1.5 release. Here is a list of all issues resolved for Geode 1.5.
The following issues have been resolved in GemFire 9.4.0. Ticket numbers of the form GEODE‑NNNN can be inspected at the Apache Software Foundation site for Geode issues.
GEODE-3540: Fixed a bug that prevented
gfsh destroy gateway-sender
from working properly.
gfsh list members output indicates which member is the
gfsh start locator command with the
option no longer displays that the cluster configuration service is up
gfsh create region command option
--skip-if-exists has been renamed to
GEODE-4373: Restored the
gfsh describe region output to again show
the accessor region description.
gfsh put command option
--skip-if-exists has been renamed to
GEODE-4787: Reinstated the management REST API endpoints for the
gfsh create index and
gfsh create region commands.
Other Management & Monitoring Issues
GEODE-800, GEM-1898: The class loading mechanism resolves classes found within nested jars.
GEODE-3974: Improved authorization permissions.
GEODE-4013, GEM-1821: Fixed a bug that caused the JVM to exit before completing the shutdown of a cache server with a server launcher.
GEODE-4287: Fixed a bug in which the gfsh session incorrectly disconnects after executing a function when connected to a JMX manager on a server.
GEODE-4309, GEODE-4320, GEM-1894: The redacting of arguments is properly applied to system properties.
GEODE-4604, GEM-1893: Fixed a bug in the permissions check with the REST API.
peer-auth-init property is no longer deprecated.
gfsh start locator command has more consistent
behavior when auto-connecting with a security manager.
The javadocs now document the risk of deadlock when invoking
from within any
Applications should instead use
GEODE-4051: Eliminated a potential deadlock situation during bucket recovery when two servers have crashed at the same time.
GEODE-4573: Transactions no longer start unexpectedly, if the first operation is a query.
Queues & Queries Issues
GEODE-4184, GEM-1860: Fixed a problem in which index update threads were hanging and causing high CPU usage.
GEODE-4306, GEM-1880: Fixed an issue in which the expiration of data in the client side cache was not working as intended for entry-time-to-live.
GEODE-4744: Fixed a bug that caused an exception when
security was enabled and the WHERE clause of an OQL query invoked a
GEODE-3948: The new client property
enables the timeout of a subscription feed with failover to another server.
GEODE-4094: Removed race condition in which the
cause a NullPointerException in
GEODE-4147: Improved client load balancing logic by introducing variability in the quantity of time clients delay until checking again.
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-4450: Setting a client/server Diffie-Hellman algorithm no longer breaks client/server subscriptions.
GEODE-4511, GEM-384: Removed the automatic creation of client default pool, instantiating one only when it is required.
GEODE-4615, GEM-1902: Prevented a possible deadlock by disallowing adding
a connection to the
ConnectionMap when it is being closed.
GEODE-4632: Fixed a bug in member view handling that occurred when a new member coordinator is selected. Public encryption keys are now transferred from the old membership view to the new one.
GEODE-4672: Fixed a serialization property (
that prevented startup under JDK 9.
The following known issues affect GemFire 9.4:
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.
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.