Oracle® Coherence Release Notes for Oracle Coherence Release 3.5 Part Number E14978-01 |
|
|
View PDF |
This chapter describes the changes and enhancements made to the Oracle Coherence product for the 3.5 release. This document is accurate at the time of publication. Oracle updates the release notes periodically after the software release.
The following is a list of new features and improvements in Oracle Coherence 3.5:
New and Improved Coherence Data Grid Functionality
Prior to Coherence 3.5 off-heap based backing maps had a capacity limit of 2GB per node. Coherence 3.5 allows setting up backing map capacity on partition by partition base, dramatically increasing the total backing map capacity per 64bit JVM node.
Introduced POF-based value extractors and updaters (see PofExtractor
and PofUpdater
); this feature allows efficient using of partitioned cache queries, aggregations, and invocations without serialization and deserialization of corresponding values.
Added server side logic that uses the EntryProcessor.processAll() method to batch process multiple entries that belong to the same partition.
Added a "service guardian" functionality to identify and recover from server-side deadlocks.
Dramatically reduced the CPU consumption during the redistribution of backing maps with large number of entries, and performance of the partition-based queries.
Prior to Coherence 3.5, to ensure even distribution the number of partitions had to exceed a square of the number of storage-enabled nodes. This constraint has been removed.
Added several distribution-related PartitionEvent
types that are delivered to preconfigured partition listeners.
Added ability to specify an AddressProvider for dynamic discovery of the Well-Known-Address (WKA) list, thus enabling dynamic reconfiguration of the WKA based on changes in the environment without cluster restart. This feature is particularly useful for operations in dynamic environments such as Amazon's EC2.
Added the ability to easily iterate query results on a partition-by-partition or member-by-member basis (see the com.tangosol.net.partition.PartitionedIterator
class). This feature is particularly valuable for processing large result sets.
Added the ability to specify an AddressProvider
for dynamic discovery of the Well-Known-Address (WKA) list and ProxyService
's acceptor, thus enabling dynamic reconfiguration of the WKA and tcp-acceptor
based on changes in the environment without cluster restart. This feature is particularly useful for operations in dynamic environments such as Amazon's EC2.
Added an automatic detection and resolution of multicast group disconnects.
Coherence*Web Enhancements
Hardened support for the Coherence*Extend-based deployment topology. See "Configuring Coherence*Web with Coherence*Extend" in the "User's Guide for Oracle Coherence*Web" for complete details.
Added various optimizations and fixed several issues with the Coherence*Web WebLogic SPI implementation. See the "User's Guide for Oracle Coherence*Web" for more details.
Fixed several issues with HttpSession
-related lifecycle event dispatching.
Added a new application-scoped locking mode to better support complex application deployments. See "Session Locking Modes" in the "User's Guide for Oracle Coherence*Web" for more details.
Optimized the performance of HttpSession
access for Web applications with read-mostly access patterns.
Optimized the performance of the split session mode update and invalidation operations.
Optimized the performance of the session reaper, dramatically reducing network and CPU utilization by moving the expired session detection into the data grid.
Added session affinity support for Tomcat.
Coherence*Web 3.5 has been certified on WebLogic Server 11g (10.3.1) and 10.3. See "Required Patch Levels for Coherence*Web 3.5" for details.
WebLogic Portal Integration
Other Enhancements and Fixes
Added index support for Replicated, Local and Continues Query caches.
Reduced memory usage by indexes.
Add support for unit calculator to "external-scheme" (SerializationMap).
Added support for the KeyAssociatedFilter for the Coherence*Extend clients.
Introduced the new com.tangosol.util.BinaryEntry
interface that provides access to entry's data in internal (Binary) format to entry processors and aggregators.
Improved performance of default hybrid eviction strategy for local caches.
Improved multiple object handling in the HibernateCacheStore.
Hardened the ownership conflict resolution algorithm for partitioned services.
Made deserialization routines in DistributedCache
service more robust, preventing custom processor serialization failure to cause the service failure.
As of Coherence 3.5, the PortableObject
interface no longer extends Serializable
interface.
Added a local-only configuration setting that allows custom MBeans to be registered without the nodeId
attribute.
Added a work around the WebSphere 6.1 MBean name mangling, which prevented MBean re-registering during application re-deployment.
Turned the remote JMX management feature on by default.
Fixed a concurrency issue in the ConfigurablePofContext
.
Fixed a potential deadlock caused by concurrent NamedCache.destroy() calls.
Allowed the network filters to be configured for the Cluster
service.
Fixed a serialization-related regression in the ReplicatedCache service causing it to return Binary
object.
Fixed a regression for the key-based map removeMapListener
API during redistribution.
Allowed non-serializable objects to be used in ReplicatedCache service with custom Serializers.
Backward Compatibility
The AbstractExtractor implementation has an additional ability to operate against the java.util.Map.Entry
instead of just the value. This allows any sub-classed to extract a desired value using all available information on the corresponding Map.Entry
object and is intended to be used in advanced custom scenarios, when application code must look at both key and value at the same time or can make some very specific assumptions regarding to the implementation details of the underlying Entry
object. The only impact of that change is that custom subclasses of the EntryExtractor have to change the parameter signature for the extractFromBinary()
method.
Other Enhancements and Fixes:
Introduced POF-based value extractors and updaters (in Tangosol.Util.Extractor
namespace). This feature allows efficient using of partitioned cache queries, aggregations and invocations without serialization and deserialization of corresponding values.
Added index support for the Local and Continuous Query caches.
Improved performance of default hybrid eviction strategy for local caches.
Fixed a concurrency issue in the ConfigurablePofContext
.
Additional Platform Support
Solaris on SPARC, x86, x64
Apple OS X on x64
Performance Improvements
Optimized memory management for short lived heap objects.
Added automatic thread based escape analysis.
Significantly reduced the cost of reference counting.
Significantly optimized RTTI-based cast operations.
Dramatically reduced contention for the Socket read/write operations.
Added coherence::lang::FinalHandle
, FinalView
, and FinalHolder
for reduced cost thread-safe data member reads.
Other Enhancements and Fixes
Introduced POF-based value extractors and updaters (PofExtractor
and PofUpdater
in coherence/util/extractor
namespace); this feature allows the efficient use of partitioned cache queries, aggregations, and invocations without serialization and deserialization of corresponding values.
Added index support for the Local and Continues Query caches.
Added coherence::util::extractor::TypedExtractor
for local and remote ReflectionExtractor
functionality
Added support for the coherence::util::filter::KeyAssociatedFilter
.
Added stack trace support on Windows Vista.
Added OOME and memory corruption detection for Arrays.
Removed coherence-debug shared library; release library is now suitable for linking with debug applications.