LATEST VERSION: 8.1.0 - CHANGELOG
Pivotal GemFire® v8.1

Pivotal GemFire 8.1.0 Release Notes

Pivotal GemFire 8.1.0 Release Notes

Release Date 27 January 2015
Last Document Update 3 March 2016
Additional Documentation All GemFire 8.1.0 Documentation

What's in the Release Notes

The release notes cover the following topics:

What's New in Pivotal GemFire 8.1.0

Pivotal GemFire 8.1.0 includes the following updates and new features:

Apache Log4j 2-Based Logging

Pivotal GemFire now internally uses Apache Log4j 2 as its logging system. Log4j 2 provides better integration with other libraries and containers and introduces the usage of categories and markers to product logging, which improves the GemFire debugging experience. See How GemFire Logging Works.

In GemFire 8.1, you can continue to use GemFire's existing logging (LogWriter) APIs, which now act as a layer on top of Log4j 2.

Note: Pivotal GemFire now always requires the following JARs to be present in the classpath: log4j-api-2.1.jar, log4j-core-2.1.jar. Both of these JARs are distributed in the $GEMFIRE/lib directory and included in the appropriate *-dependencies.jarconvenience libraries.

Advanced users may want to configure Log4j 2 for use with GemFire or their application's third-party logging framework. See Advanced Users: Configuring Log4j 2 for GemFire.

PDX Serialization Enhancements

PDX serialization now supports the changing of a class name or package of a class of that has been previously serialized using PDX in persistent offline disk stores. Prior to the 8.1 release, when you change the name of a class, the class is serialized into PDX as a new type that is not compatible with the old type. In this case, if you repackage your domain classes, you will be forced to either throw away all your current data stored in GemFire or read all the data out of the cache as the old type and put it back in using the new type. To avoid this in 8.1, you can rename your persisted PDX classes by using pdx rename command in gfsh. See pdx rename for more information.

In addition, you can execute the describe offline-disk-store command with the --pdx parameter set to true. If this parameter is set, then the command lists all the PDX types found in the offline disk store. See describe offline-disk-store for more details.

Query Index Hints and Multiple Indexes

Pivotal GemFire 8.1 adds two index querying improvements:

  • GemFire now supports the definition of multiple indexes prior to index creation to speed up the creation of indexes. By defining the indexes first, you only iterate over the region entries once during the index creation process. See Creating Multiple Indexes at Once for more details.
  • You can now use the <hint> keyword to suggest which index or indexes to use in your GemFire query. See Using Query Index Hints for more details.

Enhanced Batch Operations to Region Entries

This release adds the Region.removeAll capability. In addition, all batch operation APIs (Region.getAll, Region.putAll, Region.removeAll) have been enhanced to include an optional, user-defined parameter to pass to callback events triggered by this method. See Managing Data Entries and the Java API documentation for more information.

Durable Client Reconnect API Enhancement

This release adds the client-side Pool.getPendingEventCount API that allows you to detect whether the previously registered subscription queue is available when the durable client reconnects and then obtain the count of pending events in the queue. Based on the results, you can then decide whether to receive the remaining events or close the cache if the number is too large. See Implementing Durable Client/Server Messaging and the Java API documentation for more details.

Manual Start Option for Gateway Receivers and Load-Balancing for Gateway Senders

You can now configure gateway receivers to require a manual start or to start automatically after creation. Configure this option through gfsh, cache.xml or the Java API. For this release, the default is for gateway receivers to require a manual start. See Configure Gateway Receivers and start gateway-receiver for more details.

In addition, you can now rebalance gateway senders using the load-balance gateway-sender command or through the GatewaySender.rebalance Java API. The load-balance gateway-sender command instructs the specified gateway sender to close its current connections and reconnect to remote gateway receivers in a more balanced fashion. See load-balance gateway-sender for more details.

New REST APIs and SSL

Added new REST API endpoints for checking the availability of the Developer REST API service, listing REST API servers, and obtaining a count of region entries. In addition, you can now configure the Developer REST API service to use SSL communication. See Developing REST Applications for Pivotal GemFire and SSL.

Multicast Discovery for Distributed System Members Automatic Reconnect

Automatic reconnection handling and network partition detection now allows a locator to restart automatically after successfully contacting a quorum of the members that were in the system prior to the locator becoming disconnected. Previously locators had to be manually restarted if all locators were in a reconnecting state.

Automatic reconnection handling is now also extended to systems that use multicast discovery. Previously, multicast systems did not function correctly with this feature. Members of a system using multicast discovery will now auto-reconnect after successfully contacting a quorum of the members that were in the system prior to the member becoming disconnected.

See Handling Forced Cache Disconnection Using Autoreconnect for more information on configuring this behavior.

Management and Monitoring Improvements

In addition to the new features described above, the following Pivotal GemFire 8.1.0 includes several improvements to the management and monitoring system.

Additional Product Enhancements

In addition to the new features described above, the following product enhancements have been made:

  • Updated HTTP Modules to Version 8.1. Updated versions of supporting library files and added support for tcServer 3.0 (Tomcat 8).
  • Updated Spring Data GemFire to Version 1.5.1. Pivotal GemFire 8.1.0 supports and includes Spring Data GemFire 1.5.1. You can now start servers in GemFire by providing a Spring context XML file upon server startup. This functionality has been fixed in 8.1. For example:
    gfsh>start server --name=server_name --spring-xml-location=path-to-spring-config-xml-file

    This configuration file can exist on the CLASSPATH (default) or any location supported by Spring's Resource(Loader) location specifiers (for example, classpath:, file:, etc). ResourceLoader is described in the Spring documentation.

    If you want to experience full support for Pivotal GemFire 8.1.0 features in Spring Data GemFire, download Spring Data GemFire 1.7 (when it is available), and specify the updated JAR in the --classpath option of the gfsh start server command. Specifying the new JAR in the server's CLASSPATH upon start up adds the new JAR to the beginning of the server's CLASSPATH.
    Note: Pivotal only supports JAR versions of dependencies that are shipped with Pivotal GemFire 8.1.0. When you add a new JAR file to the CLASSPATH of a GemFire server, you are modifying GemFire's dependencies and potentially its behavior. Since later versions of Spring Data GemFire are not shipped with Pivotal GemFire, you are allowed to use non-shipped versions for evaluation purposes only.

    See the Spring Data GemFire Project Page for downloads and documentation for all versions of Spring Data GemFire.

  • Added cache.xml validation based on XML schema definition (XSD) files. DTD validation is still supported for backwards compatibility.
  • Added ability to specify different CLASSPATH upon locator startup. See CLASSPATH Settings for GemFire Processes.
  • Added support for loading contents of CLASSPATH environment variable upon server and locator startup. See CLASSPATH Settings for GemFire Processes.
  • Added ability to specify locator-wait-time upon server startup. The --locator-wait-time parameter can be used to prevent exceptions related to locators not being available when you start up locators and server processes all at once. See start server.

Installing Pivotal GemFire 8.1.0

You can download Pivotal GemFire 8.1.0 (and Pivotal GemFire Native Client 8.1.0) from the Pivotal GemFire product download page.

Pivotal GemFire 8.1.0 is available in a variety of distribution methods including:

  • ZIP or tar.gz
  • RPM for RHEL
  • DEB for Ubuntu
  • Homebrew for MacOSX
  • Maven repository

Pivotal GemFire 8.1.0 installation download includes GemFire tools such as Pulse, VSD, Developer REST APIs, and Pivotal GemFire HTTP Modules.

Note: If you are deploying Pivotal GemFire into an OSGi environment, GemFire requires that you use Apache Felix v4.4.1 and that you deploy log4j-api-2.1.jar and log4j-core-2.1.jar files to your OSGi environment.

For details on how to install Pivotal GemFire 8.1.0, see Installing Pivotal GemFire in the Pivotal GemFire User's Guide.

Upgrading to Pivotal GemFire 8.1.0

To upgrade from an earlier version of GemFire to the current version, see Upgrading Pivotal GemFire in the Pivotal GemFire User's Guide.

The following are some upgrade considerations specific to upgrading to Pivotal GemFire 8.1.0:

  • Pivotal GemFire 8.1 requires Java SE 1.7 and no longer supports Java SE 1.6. You may need to upgrade your Java distribution on your target upgrade machines before you upgrade to GemFire 8.1.
  • You can perform a rolling upgrade from Pivotal GemFire 8.0.0 to GemFire 8.1.0. Rolling upgrade means that you can upgrade your entire distributed system to the latest GemFire release without experiencing any system downtime. You upgrade one member at a time, and each upgraded member can communicate with other members that are running earlier versions of GemFire. See Performing a Rolling Upgrade for details on how to perform this kind of upgrade.
  • If you are upgrading your applications to use the most recent Pivotal GemFire, make sure you copy log4j-api-2.1.jar and log4j-core-2.1.jar files to your application's CLASSPATH in addition to gemfire.jar. These log JAR files are required to run Pivotal GemFire 8.1.
  • Thoroughly test your systems with the new 8.1.0 version before moving into production. Downgrade from 8.1.0 to a previous version of GemFire is not supported.

Resolved Issues

For a list of bugs that have been resolved in Pivotal GemFire 8.1.0 and are registered as bugs in the Pivotal bug tracking system, see BugsFixedGemFire810.html.

The following issues have been resolved specifically in the Pulse monitoring tool:

  • #1346: Security vulnerability Fixed : Issue : Password autocomplete vulnerability. Compromises browser by caching password
  • #1347: Security vulnerability Fixed : Issue : Form Caching Vulnerability. Compromises browser by caching form field values
  • #1345: DataBrowser Issue: Application Exception-- Exceptions displays stacktrace
  • #1344: DataBrowser Issue: Data browser is susceptible for Cross Site scripting
  • #1329: DataBrowser Issue: Query using Region Entry Keys and Values is not working
  • #1296: Tree Map should be set as default view if Members are more than 50
  • #1338: Pulse is not using user specified pulse.properties in version 8.0
  • #1255: Horizontal scroll bar not working properly in member view grid
  • #1356: Horizontal scroll bar not working properly in member clients table
  • #1293: DataBrowser Issue: Vertical scroll bar should be displayed in Data Browser- Region Members window
  • #1292: DataBrowser Issue: Previous result should gets cleared when user clicks 'Execute' button
  • #1267: Pulse shows "Connecting..." when I try to clear any notification
  • #1257: Region view : pop-up color for member treemap is different looking than other pop-ups

Known Issues

For a list of known issues in Pivotal GemFire 8.1.0 that are registered as bugs in the Pivotal bug tracking system, see KnownIssuesGemFire810.html.

The following is list of known issues with GemFire Pulse that are registered as bugs in the Pivotal bug tracking system, see KnownIssuesPulseGemFire810.html.