Skip Headers
Oracle® Coherence Release Notes for Oracle Coherence
Release 3.7

Part Number E21505-03
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
View PDF

1 Technical Changes and Enhancements

This chapter describes the changes and enhancements made to the Oracle Coherence product for the 3.7 release. This document is accurate at the time of publication. Oracle updates the release notes periodically after the software release.

Coherence 3.7 Documentation Library

The Coherence documentation library can be found at the following URL:

For the 3.7 release, these new guides have been added to the library:

Download and Install the Latest Software Patch

Go to My Oracle Support to download the latest software patches.

See the README file in the patch distribution for up-to-date information on the software fixes provided by the patch.

  1. Login to My Oracle Support.

  2. Click the Patches & Updates tab.

  3. Under the Patch Search tab, select Product or Family (Advanced Search), and select the Include all patches in a product family check box.

  4. Enter Oracle Coherence as the product, select the platform and release, and click Search.

The list of currently available patches for Oracle Coherence is returned.

New and Improved Coherence Data Grid Functionality

Oracle Coherence 3.7 is the latest release of the industry's leading distributed in-memory data grid product.

Oracle Coherence for Java 3.7

New features, improvements, and bug fixes have been added to these Oracle Coherence for Java components:

Management and Monitoring Enhancements and Fixes

  • Fixed an issue where the evictions field of the cache usage report was always blank.

  • Fixed a regression in the MBean registry that caused a memory leak when caches were destroyed.

Partitioned Cache Enhancements and Fixes

  • The ability to perform "lightweight" transactions within single partition has been added to this release.

  • Fixed a race condition that could cause index corruption.

  • Fixed an issue that could cause an EntryProcessor to be re-executed under certain circumstances in the event of primary server failure.

  • Fixed an issue that can cause a filter-based invoke() call to hang when the filter throws an exception.

  • Fixed an issue causing endless Repeating *Request due to the re-distribution of PartitionSet{...} during concurrent calls to destroyCache().

  • Fixed an issue causing indices built by IndexAwareExtractor to not be transferred correctly during failover.

  • Fixed an issue that could cause spurious "null" aggregation results during a cache server shutdown.

  • Fixed an issue that could result in storage-disabled clients being unable to communicate with storage nodes.

  • Fixed issue causing the maintenance of sorted indices to be extremely slow.

  • Fixed an issue on sorted indices that could cause a NullPointerException during filter-based queries.

  • Fixed an issue where a ConcurrentModificationException was thrown when a set or map was emptied concurrently.

  • Fixed an issue causing LimitFilter to return an inconsistent set of results.

  • Fixed an issue that could result in indexes (and keySet iterators) becoming corrupt or missing entries under heavy eviction.

  • Several query-related statistics have been added to StorageManagerMBean. These include descriptions of queries that are most expensive in terms of time and processing power.

  • Fixed an issue that could lead to PartitionedCache putAll() throwing a ClassCastException if executed during partition transfer.

TCMP Enhancements and Fixes

  • Fixed MulticastTest and DatagramTest to parse for IPv6 literal addresses such as -local [fe80::216:3eff:fe35:eba3%eth0]:8888.

  • Allow for sub-second IPMonitor timeout.

  • Fixed an issue that caused the cluster service to encounter a NullPointerException when removing a slow member.

  • Fixed a deadlock condition when exception occurs in Cluster.start.

  • Fixed an issue where the departure of the senior member while a new member is joining could result in join-timeout.

  • Fixed repeating DiagnosticPacket entries in log files. The pinged member will reply back to the originator of the DiagnosticPacket.

  • Resolved an intermittent issue where a new TCMP/SSL connection could trigger a BufferOverflowException.

  • Fixed an issue causing WKA (well known address) clusters to combine or panic due to socket address re-use.

  • Increased the ping-timeout used by IPMonitor to accommodate some Windows environments.

Coherence*Extend Framework Enhancements and Fixes

  • Fixed an issue that caused an invalid SSL session exception with concurrent .NET SSL connections.

  • Renamed types and #defines to avoid namespace collisions with windows.h files.


    This change will break backwards compatibility and will require a recompile.
  • Fixed a race condition in that could cause an error during a reconnection attempt.

  • Improved SafeConfigurablePofContext to support custom POF serialization of collection implementations.

  • Fixed an issue with String to std::string conversion that caused non-ASCII strings to be truncated.

  • Fixed an issue in ConfigurablePofContext that prevented the same POF configuration file from being included multiple times.

  • Optimized POF serialization of variable length integer values.

  • Added typed get methods to the PofValue class for convenience.

  • Unique names can now be specified for extend clients to identify them in the MBean list of client connections and log messages.

  • Removed redundant re-resolution of remote addresses in

  • Fixed an issue with the LocalCache implementation that could cause a deadlock during concurrent use.

  • Fixed an issue with the TypeResolver that prevented assemblies with fully-qualified names from being loaded.

  • Fixed deadlock issue in Peer.OnServiceStarted() when the client is configured purely programmatically.

  • Fixed a server-side timeout issue so that the proxy service will enforce task timeout.

  • Fixed an ArgumentOutOfRangeException that was thrown when applying a LikeFilter with a long pattern containing an escape character.

  • Fixed an issue where abnormal termination of a cache service could cause Coherence*Extend clients to lose events.

  • Hardened the proxy service against exceptions thrown by custom proxy implementations.

  • Significantly improved the performance of CompositeCache.GetAll().

  • Certified Coherence*Extend with the F5 BIG-IP Load Traffic Manager.

  • Fixed an issue where an EmbeddedResource was unable to find the Coherence assembly in the GAC.

  • Improved the proxy service to support pluggable load balancing strategies and added a default policy that distributes client connections based upon a variety of metrics.

  • Added WKA functionality to Coherence*Extend. This feature allows clients to discover and connect to proxy servers that are not explicitly listed in the client's cache configuration file.

  • Improved CacheFactory so that it restarts the logger during a restart.

Coherence*Web Enhancements and Fixes

  • Fixed an issue where the split session model did not transition an external attribute to an internal attribute when it was replaced with a "small" value.

  • Changed the default value for coherence-enable-suspect-attributes to true.

  • Created the Coherence*Web SPI for GlassFish 3.1 (ActiveCache for GlassFish).

  • Added a configurable session affinity token to enable session cookie compatibility across different Web containers.

  • The local-storage parameter is now disabled by default for Web applications that are instrumented by the Coherence*Web webInstaller.

  • Coherence*Web now can be used on WebSphere 7.

  • Fixed an issue preventing session information for each session from being displayed in session tab.

  • Added WebLogicHttpSessionManagerMBean for the WebLogic Coherence*Web SPI.

Security Framework Enhancements and Fixes

  • The transformIdentity method in the IdentityTransformer interface and assertIdentity method in the IdentityAsserter interface have been changed to add a new parameter to specify the invoking service. This change allows you to use multiple transformers and asserters. Existing custom implementations will have to change the method signatures and recompile.

Serialization Framework Enhancements and Fixes

  • You can now enter identical includes in a POF configuration.

  • Fixed an issue where CompositeKey had no entry in the coherence-pof-config.xml file.

  • Added the missing AbstractEvolvable class to the API.

  • Fixed an issue causing an IllegalArgumentException to be thrown from ExternalizableHelper when serializing a very large number of objects.

  • Removed validation logic in POF date deserialization that limited the year range to between 1582 and 2199.

  • Fixed problem with reading uniform collections into a generic collection.

  • The AbstractInvocable result is not required to implement the Serializable interface.

  • The PofHelper.ResizeArray() method always creates a new array without first checking the size.

Transaction Framework Enhancements and Fixes

  • Fixed transactional cache memory leak.

  • Throw an UnsupportedOperationException when a MapTrigger is registered against a transactional cache.

  • Fixed an issue that could lead to version dependency becoming orphaned if commit/rollback fails after updating entries but before releasing dependency.

Other Enhancements and Fixes

  • An application running in a Coherence cluster can isolate its caches and services to prevent unintentional use by other applications running in the same cluster.

  • Added a switch to the and coherence.cmd files that enables you to specify JMX more easily.

  • Introduced XML schema definitions (XSD) and fail-fast validation for Coherence XML configuration files.

  • Fixed an issue causing TcpRing to throw a NullPointerException.

  • Created a JMX reporter configuration for Elastic Data.

  • Files that have been created by Elastic Data will be deleted from the designated directory if they have not been accessed in more than two hours.

  • Upgraded Coherence 3.7 to require the 1.6 JDK update 23.

  • Fixed an issue that results in a NullPointerException during cluster startup if port-auto-adjust=false and the unicast listener port is unavailable.

  • Reduced contention on the BackingMapManagerContext.getBackingMap() method. Note that the BackingMapManagerContext.getBackingMap() method has been deprecated in favor of the getBackingMapEntry method. See "Deprecated Features".

  • Fixed an issue causing MapEvents not to be delivered to both synchronous and asynchronous map listeners.

  • Fixed an issue in LimitFilter where setPage did not work properly.

  • Fixed an issue that could cause a NotFilter query to fail with NullPointerException.

  • Added a check for Hotspot server JVM on SPARC-Solaris which in prevents node startup if this check fails. (This is to avoid Java bug 7009231 with 32-bit client JVM).

  • Added a BackingMapContext storage abstraction which can be used to enable data structures like MapIndex to easily access the CacheService. Furthermore, the BackingMapContext is available on BinaryEntry and BackingMapManagerContext.

  • Fixed an issue that could result in a NullPointerException being thrown after Guardian recovery or termination.

  • Fixed a NullPointerException issue in Daemon$Guard.recover() after service termination.

  • Fixed an issue where Nearcache.getAll() returns copies when using invalidation strategy "none".

  • Fixed an issue that could result in missing events when updating a key to an identical value.

  • Fixed a deadlock that occurs while destroying a LocalCache.

  • Fixed a race condition that could result in spurious wrong results appearing in a ContinuousQueryCache.

  • Removed deprecated static methods from the CacheFactory API.

  • Fixed an issue where the XML parser did not handle encoding correctly.

  • Removed deprecated flush-delay element from the local-scheme DTD definition.

  • Fixed an issue causing service-level guardian configuration to be ignored.

  • Added support for the listener element under the near-scheme and local-scheme elements in the cache-config.xsd file.

Oracle Coherence for .NET 3.7

New features, improvements, and bug fixes have been added to these Oracle Coherence for .NET components:

Oracle Coherence for C++ 3.7

New features, improvements, and bug fixes have been added to these Oracle Coherence for C++ components:

Changes and Enhancements for

These improvements, and bug fixes have been made for the Oracle Coherence release:

Changes and Enhancements for

These improvements, and bug fixes have been made for the Oracle Coherence release:

Known Problems and Workarounds

This section describes issues that are know at the time of release.

Communications Issues with Cluster Members Under IPv6

When using Internet Protocol version 6 (IPv6) on older Linux kernels, members of a cluster may have problem joining and communicating with each other if they are co-located on the same host. To resolve this issue either upgrade to a newer version of the Kernel or use IPv4 or run all members on separate hosts. For more information about the underlying issue see:

Additionally, there are issues with running IPv6 on Windows XP because of the experimental IPv6 stack in that version. The fix will be made available in JDK 7 and is scheduled to be backported to JDK 6u27. For more information, see:

Memory Usage During Data Grid Operations

Data grid operations (such as queries and aggregations) require heap space and can exhaust the available heap memory if the result set is significantly large. When performing data grid operations, the impact on memory usage should be understood and planned for accordingly. See Coherence Administrator's Guide for details and recommendations.

Deprecated Features

The following features have been deprecated or removed from the Coherence 3.7 release.

Support for Oracle Products Running on the Intel Itanium Processor

Oracle has discontinued all software development on the Intel Itanium microprocessor for products that have not yet been released. Oracle will continue to support existing versions of Oracle software products that already run on Itanium.

The following versions of the Intel Itanium microprocessor are affected:

  • HP-UX Itanium

  • HP OpenVMS Itanium

  • Linux Itanium

  • Microsoft Windows Itanium (64-bit)