1 Technical Changes and Enhancements

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

Coherence 3.7.1 Documentation Library

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

https://download.oracle.com/docs/cd/E24290_01/index.htm

Download and Install the Latest Software Patch

For Oracle Coherence, patches contain the "full distribution" kit. That is, the patch contains the base product (in this case 3.7.1) plus the contents of the patch.

Patches are also cumulative. That is, each patch contains the contents of previous patches. For example, patch 5 contains the contents of patch 4, plus the contents of all previous patches.

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

https://support.oracle.com

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.1 is the latest release of the industry's leading distributed in-memory data grid product. Coherence 3.7.1 contains many new features that help reduce complexity, ease integration, and accelerate time to market of scalable solutions.

  • Oracle Coherence 3.7.1 and higher is supported and certified on Java SE Development Kit (JDK) 7.

  • The release of Coherence 3.7.1 provides customers with greater flexibility in data grid client languages, reduced latency and increased throughput of network communication when deployed on Oracle Exalogic Elastic Cloud and significant performance improvements for seamlessly managing data across memory and disk-based solutions.

  • Oracle Coherence 3.7.1 introduces a new REST API, enabling customers to leverage popular client languages, such as PHP and Python, to access, manipulate and report on data stored in the Oracle Coherence data grid.

  • Oracle Coherence 3.7.1 leverages the Exabus technology exclusive to Oracle Exalogic Elastic Cloud to dramatically increase scalability and lower the latency of data grid operations. Combined with Exabus technology, Oracle Coherence 3.7.1 provides the next generation of massively scalable, low-latency data and state management for middleware applications.

    • Exabus is the high-speed communication (I/O) fabric that ties all Oracle Exalogic system components together and provides the foundation of Oracle Exalogic's extreme performance, reliability and scalability.

    • Exabus consists of unique hardware, software, firmware, device drivers and management tools and is built on Oracle's QDR InfiniBand technology.

  • Oracle Coherence 3.7.1 Elastic Data advancements provide more efficient memory and disk-based storage and improve data access performance, giving customers greater flexibility, expanded capacity and more efficiency of their existing infrastructure.

    • The Elastic Data feature of Oracle Coherence allows organizations to leverage both memory and disk-based devices for data grid storage, enabling near memory speed access to data, regardless of storage medium.

    • Oracle Coherence 3.7.1 includes significant optimizations to the journaling algorithms in Elastic Data, providing dramatically improved performance, reduced storage overhead requirements for server side operations and highly-efficient algorithms for data migration from RAM to disk.

  • Oracle Coherence 3.7.1 introduces the ability to analyze the efficiency of queries against data in Oracle Coherence by generating an ”explain plan” to describe the calculated effectiveness of each element of an Oracle Coherence query.

    • The Query Explain Plan facilitates troubleshooting and managing queries against large distributed data sets, decreases the cost of adoption, reduces complexity and simplifies configuration of scalable distributed data sets.

  • Oracle Coherence 3.7.1 is a component of Oracle Fusion Middleware 11g and is tightly integrated with the other products in Oracle's middleware stack and Oracle Exalogic Elastic Cloud.

  • Oracle Coherence 3.7.1 removes the requirement for a Java implementation of custom key classes used by Coherence*Extend .NET and C++ clients in many cases. A Java class may still be required for some grid features such as filters or queries.

  • Oracle Coherence 3.7.1 improves POF to support the use of object identities and references for user-defined objects. References can be used when a large number of sizeable objects are repeated multiple times or when objects use nested or circular data structures.

  • Oracle Coherence 3.7.1 adds POF annotation support to simplify the development of POF-serializable classes by allowing developers to mark their serializable classes, fields, and properties with the Portable and PortableProperty annotations.

Oracle Coherence for Java 3.7.1

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

Management and Monitoring Enhancements and Fixes

  • Added support to configure time zone and format for the JMX reporter date field.

  • Added "escape" character support to CohQL.

  • Fixed a memory leak that occurred when registering a custom mBean multiple times.

Exalogic Enhancements and Fixes

  • Optimized Elastic Data to prioritize RAM availability to store the primary copies of data, by moving backup copies to or from RAM to flash when necessary.

  • Optimized Elastic Data overflow to flash devices by dramatically increasing concurrency.

  • Enhanced the Elastic Data feature to trigger its internal garbage collection as its remaining RAM capacity approaches zero. Also optimized the Elastic Data garbage collection to become less aggressive when the available capacity is plentiful.

Partitioned Cache Enhancements and Fixes

  • Fixed an issue where executing single-threaded queries while performing write-behind could stall the cache.

  • Fixed an issue that could cause duplicate events to be received by a MapListener following a failover with backup-count > 1.

  • Fixed an issue that could result in an IllegalStateException while a getAll() operation is executed during re-distribution.

  • Fixed an issue where write-behind updates on an idle cache could be stalled until the next cache request.

  • Fixed an issue that caused missing backups/events when a non-Observable custom backing-map is used.

  • Fixed an issue that could cause an erroneous RequestPolicyException (The current quorum policy prevents PartitionSet{...} from being recovered).

  • Fixed an issue that caused ArrayIndexOutOfBounds exception to be thrown during partition distribution.

  • Fixed a potential deadlock that could occur as a result of the getAll() operation.

  • Fixed issue with multi-threaded putAll operations in combination with invocations may stall the cache.

  • Fixed an issue that could result in failure to apply delta warnings.

  • Fixed a regression introduced by 3.6.1 patch 3 which caused aggregations or invocations to skip some entries under a heavy load.

  • Fixed a deadlock that could occur during heavy eviction.

  • Optimized memory utilization during an aggregation eliminating the need to keep all the intermittent data for a specific member alive. WARNING: you may get errors performing an aggregation on a partially upgraded cluster when applying this fix to 3.7.0.

  • Fixed an issue that occurred when the departure of the (storage) senior member while a new member joined the partitioned cache service, resulted in a failure to create user map indices.

  • Fixed an issue where the delta was not applied when using backup-count-after-writebehind and POF.

  • Fixed a deadlock that could occur during heavy eviction or write-behind.

  • Fixed an issue that prevents keys from one partitioned cache from being used as keys to a remote (Extend) partitioned cache.

  • Improved the way in which the MapListenerSupport class handles filter-based listeners.

  • Fixed an issue where EntryProcessor objects could be re-executed if the partition is transferred immediately after it is restored from backup.

  • Fixed an issue where removal of an entry with ConditionalIndex fails in heterogeneous caches.

TCMP Enhancements and Fixes

  • Introduced the ability to specify the local IP address as a subnet mask instead of an explicit IP address.

  • Added support for large clusters (>500 nodes) without the need for manual packet size configuration.

  • Reduced port allocation requirements for running TCMP over TCP.

  • Fixed an issue with over-utilization of the 64-kb buffers for multipoint packets.

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

Coherence*Extend Framework Enhancements and Fixes

  • Hardened TcpConnection.getDescription() method against unexpected errors thrown from the Socket API.

  • Fixed a ClassCastException that could corrupt operation of the DaemonPool$Daemon.abandon method.

  • Fixed an issue where client Members were not passed to the ProxyServiceLoadBalancer.getMemberList() method.

  • Improved performance of the ContinuousQueryCache get operation.

  • Fixed an issue with the ProxyService "server" load balancing policy that caused client connections to be incorrectly rejected.

  • Removed the requirement for a Java implementation of custom key classes used by Coherence*Extend .NET and C++ clients in many use cases. A Java class may still be required for some grid features such as filters or queries.

    Key association is now processed on the Extend client by default. Existing client implementations (including Java clients) that rely on key association on the cluster must set the defer-key-association-check parameter to force the processing of key classes on the cluster.

    To force key association processing to be done on the cluster side, instead of by the Extend client, set the <defer-key-association-check> element, within a <remote-cache-scheme> element, in the client-side cache configuration to true, for example:

    <remote-cache-scheme>
       .
       .
       .
       <defer-key-association-check>true</defer-key-association-check>
    </remote-cache-scheme>
    
  • Removed the dependency on the optional Common.Logging library from DefaultOperationalContext.

Coherence*Web Enhancements and Fixes

  • Added a configuration option to suppress exceptions thrown during session invalidation.

  • Fixed the GlassFish SPI (ActiveCache for GlassFish) so that Coherence classes are no longer present in GlassFish after the Web application is undeployed.

  • Fixed coherence-session-weblogic-compatibility-mode behavior across Web applications.

  • Fixed an issue that caused session attributes to be lost when configuring the SplitSessionModel with coherence-enable-suspect-attributes disabled.

  • Moved the session-cache-config.xml file into coherence-web.jar. It is no longer inside coherence-web-spi.war and webInstaller.jar.

  • The coherence-web.jar file is now distributed in the coherence/lib directory.

Serialization Framework Enhancements and Fixes

  • Fixed incorrect handling of null values in uniform arrays and collections.

  • Fixed a bug in the PofBufferWriter class which caused an assertion while serializing collections containing null elements.

  • Optimized buffer allocation when using the SerializationHelper class.

  • Improved POF to support the use of object identities and references for user-defined objects. References can be used when a large number of sizeable objects are repeated multiple times or when objects use nested or circular data structures.

  • Fixed an issue that caused POF extraction to fail with some compact "small" POF values, such as true and false.

  • POF annotation support simplifies the development of POF-serializable classes by allowing developers to mark their serializable classes and fields (either directly or by using their accessors) with the Portable and PortableProperty annotations.

Other Enhancements and Fixes

  • Included TopLink Grid within the Coherence distribution.

  • Fixed an ArgumentException thrown by the ContinuousQueryCache.IsEventDeferred() method when the supplied key was already recorded.

  • Fixed an EOFException that occurred when calling the BinaryEntry.getOriginalValue method.

  • Fixed an issue where the coherence.jar file could remain in an application server's deployment directory after it has been undeployed.

  • Fixed an issue that could cause slow access to sorted indexes from range comparison filters.

  • Fixed a NullPointerException (NPE) that could occur during distribution with backup-count=0.

  • Fixed an issue causing an IllegalMonitorStateException to be thrown by deadlock detection under heavy load.

  • Fixed a performance regression when calling addIndex with entries that have duplicate values.

  • Fixed an issue where the guard timeout was not being honored when using Coherence*Extend.

  • Fixed XML validation issue that occurred when running with FMW applications.

  • Removed DTD files from Coherence (XSD is now used to validate configuration files).

  • The Coherence distribution now includes the jline.jar file which is used with the query command line utility.

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

  • Added "escape" character support to the QueryHelper-based LikeFilter class.

Oracle Coherence for .NET 3.7.1

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

  • Oracle Coherence for .NET supports Microsoft .NET 2.0 and higher.

  • ASP.NET Session Provider Memory Leak: The root cause for this issue is a memory leak in the .NET4 framework. This leak is documented in http://support.microsoft.com/kb/2540745/en-gb. Microsoft has also released a patch for this issue.

  • Fixed a deadlock in .NET ContinuousQueryCache class.

  • Fix a .Net SSL issue during simultaneous write operations.

  • Improved POF to support the use of object identities and references for user-defined objects. References can be used when a large number of sizeable objects are repeated multiple times or when objects use nested or circular data structures.

  • POF annotation support simplifies the development of POF-serializable classes by allowing developers to mark their serializable classes, fields, and properties with the Portable and PortableProperty attributes.

Oracle Coherence for C++ 3.7.1

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

  • Fixed an issue with C++ Coherence*Extend clients generating different POF key values for custom key classes containing 64 bit integers.

  • Added support for local execution of the ReflectionExtractor and ReflectionUpdater classes to C++.

  • Improved POF to support the use of object identities and references for user-defined objects. References can be used when a large number of sizeable objects are repeated multiple times or when objects use nested or circular data structures.

  • POF annotation support simplifies the development of POF-serializable classes by allowing developers to mark their serializable classes and fields (by using their accessors) with the Portable and PortableProperty annotations.

Changes and Enhancements for 3.7.1.1

The following changes and enhancements have been made for the 3.7.1.1 release.

  • Added the missing security permissions in security.policy.

  • Added support for service-level reliable transport selection, for example:

    <distributed-scheme>
       ...
       <reliable-transport>
          datagram
       </reliable-transport>
       ...
    </distributed-scheme>
    
  • Resolved file descriptor leak in Exabus SocketBus.

  • Fixed an issue to make sure that the transaction timeout value is always reset when a connection is acquired from the pool. This ensures that transactions do not time out unexpectedly.

  • Fixed an issue with EntryProcessor throwing an exception, which in turn caused the backup node to throw a NullPointerException.

  • Fixed an issue where 0.0.0.0 (IP_ANY) could not be used to listen on all IP addresses.

  • Fixed issue that caused an ConcurrentModficiationException to be thrown during a partition transfer when Exabus is enabled.

  • Fixed an issue with a ConcurrentModificationException or NegativeArraySizeException being thrown when running index-backed queries.

  • Made the internal REST EntryProcessors POF-serializable, to support exposing POF classes by using REST.

  • Fixed an issue where unindexed filtered invocations employed excessive locking.

  • Coherence now ignores a bad host name in authorized hosts, and logs a message.

  • Resolved a race condition which could result in a NullPointerException during service shutdown.

  • Fixed an issue with Refresh Ahead when the object being updated is locked.

  • Fixed the incorrect Jersey library versions that appeared in the coherence-rest.jar manifest file.

  • Fixed an issue with non-monotonic registrations of request SUIDs.

  • Modified the XSD to allow any XML element to be overridden by using a system-property.

  • Fixed an issue where Coherence cannot read its manifest file to obtain the version number.

  • Resolved flow control issue causing stuck nodes for services running on Exabus SocketBus.

  • Added the ability to set the service and worker thread priorities.

  • Resolved a service shutdown race condition which could result in an IllegalStateException.

  • Fixed an issue that caused an infinite loop in TcpAcceptor class.

  • Reduced memory consumption overhead for selective indices.

  • Fixed an issue with using LimitFilters from Coherence*Extend clients.

Changes and Enhancements for 3.7.1.2

The following changes and enhancements have been made for the 3.7.1.2 release.

  • The default value for coherence-session-weblogic-compatibility-mode system property was incorrect. The default value has been changed to true.

  • Fixed the issue that caused some Coherence*Web configuration options from being registered when configured by using system properties.

  • Fixed .NET ContinuousQueryCache missing entries when the cache size is large.

  • Installing Coherence for .NET in quiet mode will no longer throw an error if Microsoft Help 2.x Runtime is not present.

  • Fixed a regression in ReadWriteBackingMap.getAll() logic that could result in insertion of null values into the cache.

  • Fixed an issue that caused an assertion to be thrown for performing single key operations while backups are being transferred.

  • Preserved the entry expiry time across partition transfer or failover when the system property tangosol.coherence.distributed.strictexpiry is specified as true.

  • Fixed a regression causing incomplete results for queries that use indexes against collection-based extractors.

  • Fixed an issue that could result in data-loss with a multi-node failure.

  • Fixed an issue that caused put requests to be blocked by eviction when storage is slow.

  • Resolved an issue where default SSL context was loaded in non-SSL configurations.

  • Fixed an issue where the aggregation test hangs during rolling restart for the tmb.

  • Fixed an issue related to using ConditionalIndex with PofExtractor.

  • Fixed an issue where creating an index while performing queries could stall the cache service.

  • Optimized permission checking when the security framework is used such that running a server in a Subject context (Subject.doAs) will not require repeated authentications.

  • Fixed an issue that could raise backing map events out of order when ObservableHashMap was used as a backing map.

  • Made C++ LimitFilter::m_vComparator mutable, to better match how it is used.

  • Fixed the issue that caused the domain name of a custom MBean to be ignored and changed to "Coherence". The JMX domain name for custom MBeans registered by applications is now "retained". For more information, see Knowledge Module Doc ID 1392954.1, available from Oracle Support:

    https://support.oracle.com

  • Added send-timeout support for Extend clients. The <request-timeout> value in <initiator-config> now limits the time to send the request, in addition to the prior behavior of limiting the time to receive the response.

  • Fixed an issue that caused nodes to stop due to "Incompatible BinaryDelta implementation" when a storage-disabled proxy joined a cluster with a different backup count.

  • Fixed an issue that could cause an assertion error when encountering extremely long communication delays during service startup.

  • Addressed partial network failures when running over Exabus Account for MessageBus failure which occurs independent of network/process failure.

  • Reduced the cost of removing and recovering from timed-out members.

Changes and Enhancements for 3.7.1.3

The following changes and enhancements have been made for the 3.7.1.3 release.

  • Fixed a deadlock that could occur during query evaluation in the presence of heavy concurrent updates.

  • Fixed an issue with ReplicatedCache that could cause new service members to hold outdated lease information.

  • Fixed an issue that caused the aggregation of large data sets to spuriously miss partitions.

  • Fixed a regression causing incomplete results for queries that use indexes against collection-based extractors.

  • Fixed an issue that could result in an IllegalStateException during the removeIndex operation.

  • Fixed an issue with PacketPublisher auto-throttling.

  • Coherence now allows the PacketSpeaker to be disabled to reduce memory consumption in large WKA clusters.

  • Fixed Issue with IllegalMonitorState being thrown while performing a query during rapid updates.

  • Fixed Coherence*Web to honor the JVM system property coherence.cache.configuration.path.

  • Fixed a memory leak of pending invocation results, triggered by high EntryProcessor load during a failover.

  • Resolved an issue in MessageBus death-detection which could have lead to the wrong service member being terminated.

  • Improved the process of locating the MANIFEST.MF file.

  • Optimized the IPMonitor topology so that a single member on each machine performs outgoing pings.

  • Made PofExtractor tolerant to null values.

  • Fixed an issue in the read-write backing map where put requests could be blocked by eviction.

  • Removed a potential deadlock which could occur during Coherence*Extend client request timeout.

Changes and Enhancements for 3.7.1.4

The following changes and enhancements have been made for the 3.7.1.4 release.

  • For all Extend Clients customers (Java, C++, and .NET), you must upgrade the cluster side before upgrading the Coherence*Extend client. This is due to the fix for the problem where incorrect results were being returned to an Extend client using a LimitFilter when the Coherence cluster had more than one storage node.

  • Fixed an issue that caused the cachestore rolling restart to fail.

  • Implemented hashCode method on the PartitionSet interface.

  • Fixed an issue with the Asp.NET SessionCleanupListener that caused an IllegalThreadStateException to be thrown after a Cluster restart.

  • Made changes to Flash and RAM Journal to avoid running out of disk space. For more information, see "Additions and Corrections to Elastic Data Documentation".

  • An exception is no longer thrown when a duplicate HttpSessionListener is added in a Web application.

  • Fixed registration of custom REST aggregators and processors.

  • Fixed an issue which caused the host-address element under authorized-hosts in operational configuration to be ignored.

  • Fixed an issue that could cause a client to be stuck waiting for re-distribution.

  • Reduced contention in PortalCacheProvider.get() method during heavy concurrent access to the same key.

  • Added support for WebSphere Application Server 8 to Coherence*Web.

  • Fixed Coherence*Web to honor the JVM system property coherence.cache.configuration.path.

  • Fixed an issue where incorrect results can be returned to an Extend client using a LimitFilter when the Coherence cluster has more than one storage node.

  • Fixed an issue which caused the custom service-failure-policy configuration to be ignored.

  • Redirect logging to System.err if the configured logger is backlogged to avoid an overflow of the log queue.

  • Restored the ability to specify the cache name used by the ASP.NET Session Provider with the "cacheName" attribute. See "Specifying the Session Cache for Session Management".

  • Fixed missing cache event call-backs when using custom ExtractorEventTransformer.

  • Fixed a potential NullReferenceException during concurrent access to a session.

  • Fixed LockRecursionException in AttributeHolder when accessing session data in Web Session Model.

  • Fixed a crashing issue which could occur when registering POF Annotated classes.

  • Updated the Coherence for C++ distributions to include the header files for the NearCache and LocalCache classes.

  • Fixed an issue which could cause C++ Class and Allocation HeapAnalyzers to crash during initialization.

Changes and Enhancements for 3.7.1.5

The following changes and enhancements have been made for the 3.7.1.5 release.

  • Reduced additional memory overhead for running InvokeAll operation on PartitionedCache.

  • Fixed a memory leak caused by Daemon's internal usage of ThreadGroups.

  • Fix Rolling upgrade issues for 3.7.1.4 and older releases.

  • Fixed an issue where an attempt to perform multiple invokeAll(colKeys, processor) calls could produce AssertionException: Invalid heartbeat interval exceptions.

  • Fixed an issue which could cause entrySet() method to return a smaller result set if the indexed value is a collection or array.

  • Improved accuracy of machine death detection by IP monitor, reduced the possibilities of false positives.

  • Added throttling to avoid PacketPublisher thread overwhelming the PacketSpeaker.

  • Fixed an issue where Request.RequestStatus.WaitForResponse throws ArgumentOutOfRangeException instead of RequestTimeoutException.

Changes and Enhancements for 3.7.1.6

The following changes and enhancements have been made for the 3.7.1.6 release.

  • Fixed a potential core dump during application shutdown.

  • Fixed an issue that caused a cluster to be created if TCMP was disabled.

  • Coherence parser can now handle UTF-8 with BOM characters.

  • Fixed and issue manifesting in ClassCastException with Proxy Server/Extend client when using Optimistic Cache Scheme.

  • Fixed an issue where WindowsFormsCacheListener could hang processing events.

  • Fixed a memory leak in transactional caches with read operations and auto commit enabled.

  • Added a Coherence for C++ distribution for Solaris x86 32-bit for use with the STLport library.

  • Fixed NullReferenceException during deserialize of a user defined object when <references-enabled> is set to true.

  • Fixed the session affinity token configuration in GlassFish SPI.

  • Fixed an issue where the AllFIlter method was throwing an ArrayIndexOutOfBoundsException when initialized with an empty filter array.

  • Resolved an issue which prevented an SSL handshake from completing on some IBM JDKs.

  • Fixed an issue where Coherence*Extend for C++ clients may not detect a connection being closed by the proxy service.

  • Fixed an issue where two members could be started on the same process when a cache server is auto-restarted.

  • Resolved an issue in which the packet publisher could overwhelm the packet speaker as a result of moderate to heavy packet loss.

  • Fixed an issue where the POF Object References feature may not work due to an uninitialized POF context.

  • Connection timeouts are now honored by .NET clients.

  • Fixed an issue which could cause Coherence Server OOM for off-heap backup.

  • Improved resiliency of an index when a cache entry causes an exception during index update. The index is no longer dropped, so that queries relying on the index continue to execute efficiently. Corrupted entries are excluded from query results.

Changes and Enhancements for 3.7.1.7

The following changes and enhancements have been made for the 3.7.1.7 release.

  • Fixed java.lang.IllegalStateException: invalid minute offset for non-standard timezone.

  • Fixed an issue that could cause SafeCluster.ensureLocalService() to throw a NullPointerException error

  • Fixed an issue that could cause a Coherence*Extend ContinuousQueryCache to stop receiving events if the proxy server is restarted.

  • Fixed an issue that may cause a data loss during putAll() operation from Extend clients that immediately follows a failover or cache creation.

  • Fixed an issue where Coherence*Extend clients can receive duplicate events when there is more than one listener configured.

  • Fixed an issue which could cause missing MapListener events for certain kinds of expiry or eviction changes.

  • Fixed an issue with the default <connect-timeout> value for Coherence .NET.

  • Fixed an issue where calling NamedCache.invoke using POF/Extend with objects containing circular references throws java.lang.StackOverflowError.

  • Fixed an issue where a Coherence for .NET Extend client may make repeated attempts to reconnect to a proxy server which has shut down.

  • JMX now reports the correct size for read-write-backing-map-scheme cache.

  • Fixed "attempt to exit session" IllegalStateException during concurrent invalidation by multiple session reapers.

  • Changed the Coherence for C++ thread dump handler to run as a detached thread.

  • Fixed an issue where a resource lock timeout during the getAll, putAll removeAll operations could result in service failure.

  • Fixed flash journal max file size configuration so that it is not ignored.

  • Fixed an issue where a Coherence for C++ Extend client connection may not failover when a proxy server goes down.

  • Fixed an issue where ClassCastException could be thrown when LimitFilter is used with custom Comparator.

  • Fixed an issue that caused $QuorumRollCall$Poll to throw a NullPointerException error.

  • Improved resiliency of an index when a cache entry causes an exception during an index update. The index is no longer dropped, so that queries relying on the index continue to execute efficiently. Corrupted entries are excluded from query results.

  • Remainders are now handled correctly for nested evolvable POF objects.

Changes and Enhancements for 3.7.1.8

The following changes and enhancements have been made for the 3.7.1.8 release.

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.8

Reminder:

For all Extend Clients customers (Java, C++, and .NET), you must upgrade the cluster side before upgrading the Coherence*Extend client. This is in compliance with our client and proxy upgrade policy. While there are some patches where it may be possible to get away with not following this policy, it must be followed for this patch due to the fix for the issue where Filter Listeners were not receiving the correct number of Events.
  • Fixed an issue with Extend clients receiving duplicate events in some cases for key and filter based listeners.

  • Fixed an issue where the ContinuousQueryCache might not receive events after the proxy has been restarted.

Changes and Enhancements for Oracle Coherence for Java 3.7.1.8

  • Fixed a regression in the initial 3.7.1.8 patch with default distribution.

  • Fixed an issue that causes a NullPointerException to be thrown during cluster formation, if the IpMonitor is disabled.

  • Fixed an issue where a deadlock was seen between put/clear threads with ReplicatedCache.

  • Fixed an issue avoiding unnecessary MemberSet object creation.

  • Updated the Coherence*Web JspServlet class to extend GenericServlet so that instrumented JSPs work in Tomcat Server.

  • Fixed the IllegalStateException which was thrown after a cache destroy/recreate operation was executed using an Extend client.

  • Fixed a race condition where setting the ClassLoader on a service after it has been started would result in the service's serializer being temporarily set to null. Note that it is recommended that the ClassLoader only be set prior to starting a service.

  • Fixed a potential race condition where a ConfigurablePofContext could be used before it is fully initialized.

  • Fixed an issue when executing concurrent EntryProcessors where a change made by one processor may not be visible to a subsequent processor.

  • Fixed an issue that caused excessive memory usage by lightly used near caches after a cluster disconnect and reconnect.

  • Fixed an entry expiry issue where the expiry reset byBinaryEntryStore is ignored.

  • Fixed an issue where a new entry expiry set by a map trigger is ignored.

  • Fixed an OutOfMemoryIssue that occurs immediately after a cluster member with a NearCache configured with AUTO or ALL joins the cluster.

  • Fixed an issue with query operations resulting in CacheLoader/ BinaryEntryStore#load if entries concurrently expire from the backing map.

  • Display of JMX attribute MaxQueryDescription (under StorageManager) is now truncated to 1024 characters.

  • Fixed a java.lang.ArrayIndexOutOfBoundsException that can occur when using LimitFilter objects.

  • The Javadoc documentation for the methods RequestMaxDuration, RequestAverageDuration, RequestPendingCount, RequestPendingDuration of classes ServiceModel and ServiceMBean have been updated.

  • Fixed a memory leak caused by stopping and restarting the cluster multiple times in the same JVM.

  • Added a default constructor for CoherenceWebSessionData for a specific customer requirement.

  • Added support for WebSphere Application Server 8.5 to Coherence*Web.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.8

  • Fixed an issue where UUID.CompareTo() may return the wrong result for certain IP addresses.

  • Coherence for .NET Extend connections now have correct timestamps in the proxy server log messages and connection MBeans.

  • Implemented a workaround for the issue where PofStreamWriter.WriteLocalDateTime() recorded an incorrect value for certain DateTime values. This issue was caused by a bug in TimeZone.CurrentTimeZone.GetUtcOffset() in .NET Framework 4.5.

Changes and Enhancements for Oracle Coherence for C++ 3.7.1.8

  • Fixed an issue where Coherence for C++ may read freed memory during a network address lookup.

  • Updated the Coherence for C++ header files so that applications can be compiled using GCC 4.7.

  • Fixed a C++ compiler error in NativeAtomic64.hpp on Linux.

Changes and Enhancements for 3.7.1.9

The following changes and enhancements have been made for the 3.7.1.9 release.

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.9

  • Fixed an issue which caused duplicate delivery of transformed MapEvents.

  • Introduced a LISTEN_LOGICAL strategy for CachingMap to listen to all back map events that are not synthetic deletes. A synthetic event could be emitted as a result of eviction or expiration. With this invalidation strategy, it is possible for the front map to contain cache entries that have been synthetically removed from the back (though any subsequent re-insertion will cause the corresponding entries in the front map to be invalidated).

Changes and Enhancements for Oracle Coherence for Java 3.7.1.9

  • Fixed an issue which could cause a cluster configured with WKA hostnames to be stopped by the guardian if the DNS becomes unavailable. This issue only affects WKA cluster configurations which rely on symbolic hostnames which require DNS resolution.

  • PofHelper.getPofTypeId() will now return the correct type ID for user types that derive from ArrayList.

  • Removed a NullPointerException during Coherence*Web initialization in older versions (pre-10.3.3) of WebLogic

  • Fixed an issue where the PofHelper method getPofTypeId() was returning the incorrect type id for user types deriving from an ArrayList.

  • Fixed an issue that could result in a NullPointerException being thrown when registering a partial result during server failover.

  • Fixed an issue where custom proxies were not being called when ensuring and/or destroying a cache.

  • Fixed the display values for BufferPublishSize and BufferReceiveSize attributes of the ClusterNodeMBean.

  • Added the management-config configuration element extended-mbean-name to reflect the member name in global MBean object names.

  • Added support for HttpOnly cookie attribute in instrumented Coherence*Web web applications.

  • Added a Coherence*Web configuration parameter to replace stripped-off suffix with a new affinity suffix.

  • Fixed an issue that caused native memory (DirectByteBuffer) to be allocated unnecessarily.

  • Fixed an issue with invalid reporter configuration leading to an unsafe state.

  • Binary keys will be re-used for key listener registrations.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.9

  • Added ReducerAggregator to Coherence for .NET and C++ so that the ReducerAggregator can be invoked from these languages.

  • Fixed the Coherence for .NET library to look for the correct XML configuration elements for using network filters, like the gzip compression filter.

  • PofHelper.getPofTypeId() will now return the correct type ID for user types that derive from ArrayList.

Changes and Enhancements for Oracle Coherence for C++ 3.7.1.9

  • Fixed adapter_map/boxing_map iterator initialization when the map size is 1.

  • Added ReducerAggregator to Coherence for .NET and C++ so that the ReducerAggregator can be invoked from these languages.

  • Improved performance by removing unnecessary mutex locking when accessing registered classes and serializers in the SystemPofContext.

Changes and Enhancements for 3.7.1.10

The following changes and enhancements have been made for the 3.7.1.10 release.

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.10

  • Fixed an InFilter serialization issue.

  • Fixed an issue where integer value of -31 is not read properly by the POF serializer.

  • Hardened the handling of cache deactivation calls.

Changes and Enhancements for Oracle Coherence for Java 3.7.1.10

  • Fixed a custom Comparator issue with proxy service load balancing.

  • Improved the sending of DiagnosticPackets such that they are sent to both advertised and preferred ports.

  • Fixed an issue with Elastic Data in which an invalid binary exception is reported during an operation that directly or indirectly calls keySet.

  • Hardened the transactional cache handling of javax.transaction.xa.Xid to allow non-serializable implementations.

  • Added a new session configuration in Coherence*Web which keeps a local instance of a session in addition to flushing the session to the distributed cache.

  • Added a new session configuration in Coherence*Web which keeps an local instance of a session in addition to flushing the session to the distribute cache. For more information, see "Getting Concurrent Access to the Same Session Instance".

  • Fixed an issue that could result in false incompatible WKA list warnings when host names are used in the WKA list

  • Fixed an issue causing NamedCache iterators to return duplicate results to Extend clients from Standard edition clusters.

  • Fixed an issue where RWBM.flush() could return before all data are flushed.

  • Fixed an issue that caused the unit calculator configuration to be ignored by the ReadWriteBackingMap.

  • Fixed an issue resulting in deadlock between the thread starting the cluster and the thread starting a service.

  • Fixed an issue where listeners on Replicated Cache could not receive map events.

  • Fixed an issue which could cause client memory leak if partition distribution "stuck".

  • Fixed an issue with Filter execution producing high memory overhead due to an unnecessary JMX statistic.

  • Fixed a potential session initialization issue in WebLogic Server during side-by-side deployment.

  • Fixed an issue where integer value of -31 is not read properly by the POF serializer.

  • Added support for Coherence*Web with Tomcat 7.x application servers.

  • Hardened the handling of cache misconfigurations by guarding against Null Pointer Exceptions (NPE) and Unsupported Operation Exceptions (UOE) to provide a more stable service.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.10

  • Fixed an issue where type -29 is not read properly by the POF serializer.

  • Improved client certificate selection for SSL enabled Coherence*Extend connections.

  • Removed Coherence for .NET installer prerequisite on .NET Framework 2.0.

Changes and Enhancements for 3.7.1.11

The following changes and enhancements have been made for the 3.7.1.11 release.

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.11

  • Improved ConnectionException to return the cause of the exception from the proxy server.

Changes and Enhancements for Oracle Coherence for Java 3.7.1.11

  • Reduced contention on the Proxy service for key-based requests that target the same keys.

  • Fixed an issue in ensureCache which can result in client threads becoming stuck if the ensureCache was unresponsive.

  • Fixed an issue where an Extend client doesn't receive delete events from a replicated cache.

  • Fixed a ConcurrentModificationException that may occur in RefreshableAddressProvider upon retrieving the next address when the last address in the list was rejected.

  • Fixed an issue in which we may duplicate the call to the CacheStore on failover for a successfully stored entry.

  • Fixed an issue where IllegalStateException was thrown from CoherenceWebSessionContextImpl while retrieving the session.

  • Hardened the PacketReciever against randomly truncated, otherwise valid packets.

  • Fixed an issue where Coherence*Web on Tomcat 7.0 reported incorrect Tomcat version information in the log file.

  • Fixed an issue in which CacheMBean may produce an exception if a non- ConfigurableCacheMap instance is used as the front map.

  • Added ability to define MapTriggerListeners for remote caches by using the <listener> element.

  • Fixed an erroneous clean-up of locally stored session attributes.

  • Fixed a possible Guardian time out issue which might occur when restoring orphaned partitions.

  • Fixed Session Reaper to ensure that local attributes are cleaned up when session invalidation is initiated from a different node.

  • Fixed a potential AssertionException in Coherence*Web during application undeploy.

  • Fixed an issue that could prevent a conditional index from correctly indexing an entry.

  • Fixed a potential race condition between a guarded thread timing out and the thread no longer being guarded for ReadWriteBackingMaps.

  • Fixed an issue in the asynchronous SSL implementation that may cause a request to hang when SSL communication is enabled.

  • Added the "RACK-SAFE" and "SITE-SAFE" support for statusHA and configured them to be displayed only when the partition assignment strategy is not legacy.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.11

  • Added a SimplePrincipal which derives from GenericPrincipal. SimplePrincipal uses the Identity.Name property to determine object equality.

  • Fixed a .NET 4.5 framework issue with SynchronizedDictionary.

  • Added ability to define MapTriggerListeners for remote caches by using the <listener> element.

Changes and Enhancements for Oracle Coherence for C++ 3.7.1.11

  • Added "-mmacosx-version-min=10.4" to the examples compilation commands to address link errors with Xcode 5.

  • Changed DetachFinalizer::set() to detach from the old object with the old escaped flag.

  • Updated TypedMethod.hpp so that Xcode (clang) no longer warns about unused functions in the file.

  • Fixed LiteSet so that it can support more than two elements.

  • Fixed an issue with String::substring prematurely ending a substring search.

Changes and Enhancements for 3.7.1.12

The following changes and enhancements have been made for the 3.7.1.12 release.

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.12

  • Fixed a serialization buffer allocation performance issue.

Changes and Enhancements for Oracle Coherence for Java 3.7.1.12

  • Fixed an issue where a ConcurrentModificationException may be thrown when invoking ConditionalRemove on a ReplicatedCache from an Extend client.

  • When using the Coherence Cache Provider with WebLogic Portal, the cache configuration may be set using a system property.

  • Changed the proxy service worker threads to close Coherence*Extend connections asynchronously when a connection will be closed due to an error.

  • Fixed NotSerializableException in Coherence*Web for WebLogic Portal components during session invalidation.

  • Fixed an issue that could cause the index size from getUnits() to become negative.

  • Updated PofValue.getValue() API documentation to indicate that the type must be explicitly specified for primitive types.

  • Fixed an issue with events not being delivered to pre-3.7.1 Coherence*Extend clients.

  • During session invalidation, ConcurrentModificationException is logged only when the logging level is set to FINEST.

  • Reduced the contention when ReadWriteBackingMap is subject to high load and evictions.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.12

  • Fixed an event delivery issue for cache listeners registered with filters that use a PofExtractor.

  • Updated PofValue.getValue() API documentation to indicate that the type must be explicitly specified for primitive types.

  • Fixed an issue with events not being delivered to pre-3.7.1 Coherence*Extend clients.

  • Changed Coherence.dll for Coherence.NET to have no diagnostic instrumentation overhead. Coherence.pdb is still provided for debugging purposes.

Changes and Enhancements for 3.7.1.13

The following changes and enhancements have been made for the 3.7.1.13 release:

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.13

  • Fixed a concurrent access issue with UUIDs.

Changes and Enhancements for Oracle Coherence for Java 3.7.1.13

  • Fixed an issue with UpdaterProcessor that could cause missing entry update in CacheStore, BinaryEntryStore, and Listeners.

  • Fixed an issue where internal session attribute names are returned without stripping the InternalWLSAttribute prefix.

  • Fixed a POF serialization issue for negative Dates with nonzero sub-seconds.

  • Fixed an issue where session attributes are mandated to implement java.io.Serializable.

  • Implemented Servlet 3.1 feature which enables an application container to update the session ID after authentication.

  • Fixed memory leak in release cache.

  • Fixed an issue which could cause server to fail to join the cluster with tmbs protocol.

  • Fixed an issue where internal session attribute names are returned without stripping the InternalWLSAttribute prefix.

  • Fixed an issue which could cause TcpAcceptor hang when decoding non-Coherence messages.

  • Improved POF date and time deserialization performance.

  • Fixed an issue where ReadWriteBackingMap may unnecessarily log messages regarding an unexpected EvictionApprover.

  • Fixed an issue where cmd scripts shipped by Coherence fail to handle JAVA_HOME path containing spaces and parenthesis.

  • Fixed memory leak in release cache.

  • Fixed an issue where MultiExtractor was not using indexes for its ValueExtractor.

  • Provided limited support for PofValueParser and PofNavigator when object identity/reference is enabled. If the user performs an unsupported function, then an UnsupportedOperationException will be thrown.

  • Fixed an issue with RefreshableAddressProvider in which previously unaccepted addresses may not be retried after successful connection.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.13

  • Fixed msiexec /x coherence-net-3.7.1.*.msi /qb to no longer show error message dialog.

  • Corrected an issue when iterating the entries, keys, or values of a ContinuousQueryCache.

  • Provided limited support for PofValueParser and PofNavigator when object identity/reference is enabled. If the user performs an unsupported function, then an UnsupportedOperationException will be thrown.

Changes and Enhancements for Oracle Coherence for C++ 3.7.1.13

  • Fixed an issue where dependent threads of a Coherence service may fail to stop during service shutdown.

  • Fixed a typo in the guard macro for XorFilter.hpp.

Changes and Enhancements for 3.7.1.14

The following changes and enhancements have been made for the 3.7.1.14 release:

Changes and Enhancements for Oracle Coherence—All Platforms 3.7.1.14

  • Disabled POF object references for cache keys to prevent the possibility of two cache entries with the same key. For further details including potential upgrade issues, see "Upgrading to 3.7.1.14 or Higher".

Changes and Enhancements for Oracle Coherence for Java 3.7.1.14

  • Fixed an issue where asynchronous ownership is requested by WLS SPI code for Coherence*Web.

  • Improved SSL connect to include handshake in any configured connect timeout.

  • Fixed an issue where the ReportTime column is missing in report-cache-size.xml.

  • Added codecs for well known class types like ArrayList, HashMap,and so on.

  • Disabled POF object references for cache keys to prevent the possibility of two cache entries with the same key. For further details including potential upgrade issues, see "Upgrading to 3.7.1.14 or Higher".

  • Fixed a problem that caused unnecessary "unregister MBean" messages sent to a managed node after a cache is destroyed.

  • Fixed an issue when under high load using expiry or eviction resulting in AssertionExceptions or deadlock.

  • Fixed the issue that cache entries over high-units are not correctly evicted.

  • Fixed an issue where addIndex() run in a non-synchronized thread gave wrong results for a replicated cache.

  • Fixed an issue that could prevent the service or cluster from restarting after abnormal failure.

  • Fixed an issue where exception null was seen upon stop of FlashJournalRM Daemon thread during service restart.

  • Fixed an issue where cache-server.sh and coherence.sh scripts were using CRLF characters for line endings.

  • Fixed an issue where daemon threads were not using the specified service classloader.

  • Fixed an issue where <cipher-suites> element in cluster configuration caused SAXParseException.

  • Fixed an issue where an ArrayIndexOutofBoundsException is thrown from ClusterModel.getMemberIds() call due to some of cluster members going down during the operation.

  • Resolved a stability issue on IBM J9 JVM when running Coherence on TCP.

  • Fixed an issue where invocation of QueryPlus.main preceded by QueryHelper.createFilter caused NullPointerException.

Changes and Enhancements for Oracle Coherence for .NET 3.7.1.14

  • Disabled POF object references for cache keys to prevent the possibility of two cache entries with the same key. For further details including potential upgrade issues, see "Upgrading to 3.7.1.14 or Higher".

  • Fixed an issue where SynchronizedDictionary.AcquireWriteLock() may hide thread interrupts.

  • Fixed an issue where a client could end up with a thread stuck in a CPU busy loop if an error occurs while processing a message from the proxy server.

  • Fixed a concurrent access issue on CacheFactory methods.

Changes and Enhancements for Oracle Coherence for C++ 3.7.1.14

  • Added Class::getTypeInfo() and Class::typeEquals() methods.

  • Disabled POF object references for cache keys to prevent the possibility of two cache entries with the same key. For further details including potential upgrade issues, see "Upgrading to 3.7.1.14 or Higher".

  • Fixed an issue where CacheFactory::shutdown() could hang waiting for the Logger thread to close.

  • Updated some header files to address GCC 4.8 compilation warnings.

Changes and Enhancements for 3.7.1.15

The following changes and enhancements have been made for the 3.7.1.15 release:

Changes and Enhancements for Oracle Coherence for Java 3.7.1.15

  • Fixed an issue where Coherence*Web does not save sessions to the cache when used with WebLogic servers that have the patch for bug 18057437.

  • Fixed an issue where HTTP sessions are not saved when Coherence*Web is being used by PeopleSoft applications.

  • Fixed an issue where a NIC with multiple IP addresses can trigger IpMonitor failures.

  • Fixed an issue where the SSL configuration password may be logged if an exception occurs due to invalid SSL configuration.

  • Fixed an issue where a non-SSL client could trigger a node to restart.

  • Fixed an issue where Coherence*web is creating a new session cache (by appending the appversion to the appname) for each version of an application.

  • Improved diagnostic logging on port binding failures when auto-adjust is disabled.

  • Fixed a potential concurrency issue with SafeClock.updateSafeTimeMillis() which could result in thread hangs.

  • Hardened tmb against erroneous socket closures caused by interrupts or idle connections.

Changes and Enhancements for 3.7.1.16

The following changes and enhancements have been made for the 3.7.1.16 release:

Changes and Enhancements for Oracle Coherence for Java 3.7.1.16

  • Fixed an issue where a PartitionedCache service could be terminated due to a NullPointerException being thrown in PartitionedCache$Storage.moveResourcesToPrimary().

  • Fix an issue where an IllegalArgumentException could be thrown when calling cache destroy while a partition transfer is in process.

  • Changed the default value of the system property "tangosol.coherence.publisher.yieldonflush" to "false" to address Coherence cluster performance issues in some environments.

  • Addressed an issue where threads accessing Coherence via Extend could have the interrupt status of a thread erroneously cleared.

  • Addressed an issue where an inconsistent configuration of the Coherence reliable transport setting could result in a NullPointerException.

  • Fixed an issue where a deadlock may occur in an *Extend client when the connection to the proxy server is closed.

  • Improved Coherence's management of off-heap DirectByteBuffers to more closely couple their life-cycle to that of the garbage collector.

  • Added Windows TCP retransmission setting overrides to optimize.reg to help reduce false death detections by allowing the Coherence cluster members to be more tolerant of short network outages.

  • Added support for enabling or disabling specific SSL protocols within Coherence's SSL configuration.

  • Fixed an issue where an interrupted Cluster start operation can cause the Cluster service to fail to shutdown cleanly.

Known Problems and Workarounds

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

Upgrading to 3.7.1.14 or Higher

To prevent the possibility of two cache entries with the same key, POF object references are disabled for cache keys in release 3.7.1.14. This fix, in some cases, breaks compatibility with earlier 3.7.1.x releases. For partitioned caches, the serialized key format in 3.7.1.14 is different than keys that are generated with 3.7.1.13 and earlier when all of the following conditions are true:

  • The PartitionedCache service is configured to use POF serialization.

  • The POF serializer is configured with object references enabled (<enable-references> is set to true). Object reference support is disabled by default.

  • One or more of the caches in the PartitionedCache service contain entries with keys that are complex type objects (that is, an object class that does not have built-in POF support).

Note:

Note that the 3.7.1.14 key format is now identical to what is used by release 12.1.2 and above. So, 3.7.1.14 Coherence*Extend clients may interact with a 12.1.2 or later version Coherence cluster.

Starting with 3.7.1.14 and later releases, POF object references are disabled for cache key serialization to prevent a condition where key objects which are .equals() equivalent but are not the same object (not ==) can result in different serialized keys. This issue can cause duplicate entries for the same key and can also result in what appears to be missing, phantom, or inaccessible cache entries.

For cases where one or more of the previously mentioned conditions are not true, there are no issues with upgrading to 3.7.1.14. The normal upgrade process can be used. That is, perform a rolling restart, upgrade the cluster before the clients, and so on.

If all the conditions are true, then perform the following upgrade process:

  • If the Coherence cluster is 12.1.2 or above, and the upgrade is only being done to Coherence*Extend clients, then all 3.7.1.x clients should be upgraded to 3.7.1.14 at the same time. If they are not, then cache entries added by an older 3.7.1.x client may not be accessible by 3.7.1.14 (and 12.1.2 and above) clients and the cluster members.

  • If the Coherence cluster is 3.7.1.x (3.7.1.0 - 3.7.1.13), then the cluster must first be shutdown prior to patching. All data must be reloaded so that the keys are in the correct serialized format. In other words, a rolling restart is not possible. In addition, all 3.7.1.x Coherence*Extend clients must be upgraded. Older 3.7.1.x version Coherence*Extend clients may not be able to access data in the cluster and any data inserted by older clients may not be accessible by 3.7.1.14 Coherence*Extend clients and cluster members. In terms of ordering, the 3.7.1.x cluster must be upgraded to 3.7.1.14 first then followed by upgrading the 3.7.1.x Coherence*Extend clients.

Building C++ Applications Using Apple OS X Mavericks

When building C++ applications with Apple OS X 10.9 (Mavericks), you must compile with the command g++ (as opposed to CC) and you must use the parameter -mmacosx-version-min=10.4.

Querying POF Objects

The use of object identity and references has the following limitations:

  • Object references are only supported for user-defined object types.

  • Evolvable objects are not able to use object references.

  • Objects that have been written out with a POF context that does not support references cannot be read by a POF context that supports references. The opposite is also true.

  • POF objects that use object identity and references cannot be queried using POF extractors. Instead, use the ValueExtractor API to query object values or disable object references.

Deprecated Features

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

  • DTD files have been removed from the Coherence distribution. XSD is now used to validate configuration files.

  • Support for the symmetric and PKCS encryption filters has been removed in this release of Oracle Coherence. Compression filters and custom network filters are still supported. You can find documentation for network filters in the 3.7.0 release of the Oracle Coherence Developer's Guide.