vFabric GemFire 7.0.1 Release Notes

vFabric GemFire 7.0.1 | 07 MAR 2013 | Build 40235

Last Document Update: 24 APR 2013

What's in the Release Notes

The vFabric GemFire 7.0.1 release notes cover the following topics:

What's New in vFabric GemFire 7.0.1

vFabric GemFire 7.0.1 includes the following feature changes and enhancements. This release also includes the features documented in the vFabric GemFire 7.0.0 Release Notes.

New gfsh Commands to Manage Durable CQs and Durable CQ Clients

vFabric GemFire 7.0.1 includes four new commands to help manage durable continuous queries (CQs) and durable CQ clients:

  • close durable-client: Attempts to close a disconnected durable client.
  • close durable-cq: Closes the durable CQ registered by a given durable client and drains related events from the subscription queue.
  • list durable-cqs: Lists all CQs associated with a specific durable client.
  • show subscription-queue-size: Shows the number of events in a subscription queue.

For more details about using gfsh commands, see Using the GemFire SHell (gfsh). See Continuous Querying for information on using CQs.

Changes to ASyncEventQueueFactory APIs

The API for configuring an AsyncEventQueue with write-back cache listeners now supports enabling batch conflation. The documentation for AsyncEventQueue configuration was clarified to describe setting batch size, conflation, dispatcher threads, and ordering policy for queues. See Configuring Event Queues.

Added Quorum and Member Weight Logging to GemFire Locators

In the 7.0.0 release, quorum calculations are only performed when network partition detection is enabled. In the 7.0.1 release, quorum calculations will always be performed. When a new membership view is sent out that includes one or more failed processes, the locator also logs member weight calculations.

In addition, if GemFire detects that membership quorum has been lost in a view change, a new severe-level message is logged:

Possible loss of quorum detected due to loss of {0} cache processes: {1}
where {0} is the number of processes that failed and {1} lists the processes.

See Network Partitioning for more information on membership weights and quorum calcuations in GemFire.

Fixes and Enhancements to GemFire Pulse User Interface

The Pulse tool included with vFabric GemFire 7.0.1 includes the following fixes and enhancements:

  • Most recent alerts are sorted to appear at the top of the alerts list.
  • Issue with absent or invisible scrollbars has been fixed.
  • All alerts can be scrolled through in the Alerts window.
  • Browser formatting issues in Data View are fixed.
  • Fixes to the refreshing of data in the Cluster Members view on the main screen.
  • WAN information box no longer appears if no WAN settings exist.
  • Added user interface hints to the Treemap UI.
  • In Data View, reads/sec and writes/sec now display bold font, visible values.
  • Peer processes that do not have locator/server or manager no longer appear erroneously in the locator section.
  • Heap usage in Cluster View now displays current heap size or percentage of heap used.
  • Fixed issue with Cluster Members CPU usage display.
  • Improved alert formatting and readability.
  • Fixed scrolling in Member Details view.
  • Member Clients widget no longer appears for non-applicable members (peers and locator).
  • Pulse now alerts the user if the JMX Manager connection is lost and indicates that data may be stale.
  • Improved screen width and column formatting.
  • Improved search speed on Data View screen.
  • Earlier statistics in the trend line previously displayed the most recent values. The statistics now reflect the average value of the metrics.

See GemFire Pulse for more information on Pulse.

Changes to vFabric GemFire HTTP Session Management Modules

HTTP Session Management Modules have been updated as follows:

  • Hibernate and tcServer Session Replication Compatibility. The Hibernate module is now a separate JAR file instead of part of the gemfire-modules.jar. This separation fixes a compatibility problem with the HTTP Session Replication Module for vFabric tc Server. To deploy the Hibernate module, ensure that gemfire-modues-hibernate.jar is included in your web application's WAR file.
  • Programmatic configuration of CommitSessionValve (tcServer). CommitSessionValve, which was previously configured in context.xml is now enabled programmatically.
  • Added ability to hot-deploy web applications in tc Server for GemFire peer-to-peer topologies: This release adds the tc Server configuration property prefer.deserialized.form. When this property is set to false, you can perform web application hot deployments in tc Server when using GemFire as an embedded cache.
  • Added API to access GemFire session from listeners. Use the SessionCachingFilter.getWrappingSession(HttpSession nativeSession) API to access the native GemFire session from a listener.

For more information on vFabric GemFire HTTP Session Management Modules, see HTTP Session Management Modules.

Changes to vFabric GemFire Product Documentation

The vFabric GemFire User's Guide includes the following enhancements for 7.0.1:

Upgrading to vFabric GemFire 7.0.1

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

This release supports rolling upgrades between minor versions. In other words, if you are currently running vFabric GemFire 7.0.0, you can upgrade individual clusters to vFabric GemFire 7.0.1 without any distributed system downtime.

If you perform a rolling upgrade with clusters of 7.0.0 members and 7.0.1 members, be aware of these issues:

  • To avoid error messages upon member startup, start persistent members before starting empty members.
  • Using gfsh shutdown or the deprecated gemfire shut-down-all command may hang 7.0.0 members in a mixed cluster of 7.0.0 and 7.0.1 members.

Resolved Issues

For a list of bugs that are fixed in GemFire 7.0.1 and that are resolved in the VMware bug tracking system, see BugsFixedGemFire701.html.

Resolved Issues with GemFire HTTP Session Management Modules

The following is a list of resolved issues with the GemFire HTTP Session Management Modules:

  • GemFire AppServer Module
    • Bug #47: Session expiration was overridden by a default value of 30 seconds.
    • Bug #59: An API was needed to access GemFire session from listeners.
    • Bug #60: Setting the session maxInactiveInterval did not propagate correctly to other nodes in the cluster.
    • Bug #63: Calling SessionCachingFilter.getWrappingSession returned null if called before the first request (which created a new session) had completed.
  • GemFire tc Server Module
    • Bug #48. Hot deploys of WebApps could result in ClassCastExceptions when accessing previously saved session attributes.
    • Bug #49: When gfsh.jar was on the classpath, you could see com.gemstone.gemfire.internal.tools.gfsh.aggregator.AggregatorPartionnFunction cannot be cast to com.gemstone.gemfire.cache.Declarable exceptions.

Known Issues

For a list of issues that have been registered as bugs in the VMware bug tracking system, see BugNotesGemFire701.html.

Known Issues with GemFire Pulse

The following is a list of known issues with GemFire Pulse 7.0.1:

  • Bug #987: If two instances of Pulse are running on the same machine and pointing to two different sites, logging out from one Pulse also logs the user out of the second site, with an HTTP 401 Unauthorized Access error message.

    Workaround: To run multiple instances of Pulse, use unique hostnames for each running web server as follows:

    1. Add virtual hostnames: Add as many aliases as required for hostname in hosts file of OS. For example, pulsehostone, pulsehosttwo, and so on. On Windows, the host file is located at path C:\Windows\System32\drivers\etc\hosts. On Linux, the host file is located at path /etc/hosts .
    2. Configure each web server to run on a different port. For example, pulsehostone runs on 8080, pulsehosttwo runs on 9090, and so on. To configure the ports in Tomcat, edit the server.xml file located at conf folder. To avoid using multiple hostnames interchangeably for the same web server, change the name attribute of the host element in server.xml to the desired hostname. For example, change attribute name from localhost to pulsehostone for the web server that is running on 8080.
      <Host name="pulsehostone" appBase="webapps" unpackWARs="true" autoDeploy="true">
      The URL for this server would then become:

    3. Deploy pulse.war on all servers and start the servers.
  • Bug #990: If some regions are destroyed or members holding the region departs, Pulse does not remove them from the UI.
  • Bug #991: Memory usage widget only shows value for partitioned regions.