Releases: oracle/coherence
Coherence CE v21.06.1
This is Patch 1 of the Coherence CE v21.06 release.
Fixed Issues
- Fixed an issue with serializing classes annotated with PortableType that have not specified an ID.
- Fixed an issue where an ArrayIndexOutOfBoundsException could be thrown when using the PortableType annotation.
- Fixed an issue in persistence to ensure errors are caught in a rare and unexpected part of the recovery protocol.
- Fixed an issue where a topic subscriber with only a single channel allocated will not stop polling even when the channel is empty.
- Fixed an issue where the Java gRPC client will hang when getting caches if no connection to the server can be made.
- CVE-2021-2428 Fixed Java serialization of the Coherence JCache CoherenceEntryProcessorResult class to prevent unintended usage of this class.
- CVE-2021-2344 Fixed an issue where Java array deserialization may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
- CVE-2021-2371 Fixed an issue where Java array deserialization using ExternalizableHelper may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
Coherence CE v14.1.1.0.6
This is patch 6 of the Coherence CE v14.1.1 release.
Fixed Issues
- Fixed an issue where the partitioned cache service thread could hit the guardian timeout while processing deferred events during partition recovery or failover.
- Fixed an issue where incremental cache eviction could temporarily hold references to evicted cache keys.
- Fixed an issue where the recovery of a split-brain condition could be delayed after network connectivity is restored.
- CVE-2021-2428 Fixed Java serialization of the Coherence JCache CoherenceEntryProcessorResult class to prevent unintended usage of this class.
- Enhanced CohQL to print out the Exception call stack when trace is turned on.
- CVE-2021-2344 Fixed an issue where Java array deserialization may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
- CVE-2021-2371 Fixed an issue where Java array deserialization using ExternalizableHelper may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
- Fixed an issue where cluster join may automatically fallback to multicast if all of the configured WKA addresses are unresolvable.
Coherence CE v21.06
This is the official Coherence CE v21.06 release including some significant new features.
New Features in 21.06:
- Repository API
- A higher-level, DDD-friendly way to access data managed in Coherence.
- Topics Improvements
- Some significant changes to the Coherence Topics feature to support explicit client acknowledgements.
- Durable Events
- Never lose an event with Durable Events allowing clients to keep track of event versions and request replay of events.
- Partition Events Logging
- For those curious in understanding how long a Coherence partition was blocked for due to transfer, restore from backup, or any other reason, please read the feature documentation.
- NonBlocking CacheStore
- Trivially integrate with data sources that provide non-blocking APIs with this new CacheStore variant.
- Improved config macro paramters
- An extension to Coherence macro parameters to allow manipulation of the parameter.
Bugs fixed since Coherence CE 20.12:
- Fixed an issue where incremental cache eviction could temporarily hold references to evicted cache keys.
- Improved NearCache getOrDefault and computeIfAbsent to utilize the front map.
- Fixed an issue where the partitioned cache service thread could hit the guardian timeout while processing deferred events during partition recovery or failover.
- Fixed an issue where the recovery of a split-brain condition could be delayed after network connectivity is restored.
- Enhanced CohQL to print out the Exception call stack when trace is turned on.
- Fixed an issue where the metrics for some persistence attributes have unexpected large values.
- Reverted a method signature change to ConfigurableCacheMap.evict(oKey).
- Fixed an issue where a guardian timeout could occur on the service thread during partition recovery.
- Fixed an issue with Management over REST and JMX where queries over all members of a large cluster may fail with an InstanceNotFoundException if a cluster member is shut down in middle of the query computation.
- Fixed an issue in which PortableTypeGenerator was not generating the relevant code for RawDate and RawDateTime.
- Fixed an issue where a guardian timeout could occur while creating a snapshot when active persistence is enabled.
- Fixed an issue with view schemes if they become disconnected from the source causing deserialization errors.
- Fixed an issue where an AssertionException could be thrown if the partition backup count is greater than 1.
- Fixed an issue where the metric metadata value retrieved from the Coherence metrics endpoint when using Prometheus text format includes an additional space in the metric type name.
- Fixed an issue where a deadlock could occur during partition backup transfers.
- Fixed an issue where a persistence snapshot could contain stale cache data leading to a recovery error.
- Fixed an issue where an AssertionException could be thrown by the PartitionSet.intersects method.
- Fixed an issue where a service restart could throw a SecurityException with the message "No security token available" when the security framework is enabled.
- Fixed an issue where a persistence snapshot recovery operation could hang indefinitely.
- Fixed an issue where a heavy key listener can be overridden by a lite listener from the same member.
- Fixed an issue where a NullPointerException could be thrown during concurrent query with BetweenFilter and an entry remove operation.
- Fixed an issue where a NullPointerException could be thrown if the interface for multicast-listener is incorrectly specified.
- Fixed an issue where a ClassNotFoundException would be thrown in some situations if javax.inject module is not on the class path.
- Fixed an issue where archiveSnapshot could throw an ArrayIndexOutOfBoundsException if the partition count is less than the storage enabled member size.
- Added service name and nodeId to the result of the Cache MBean query. In addition, you can now get the MBean type (type), cluster name (cluster), member name (member), and cache tier (tier) attributes from the Cache MBean query.
- Fixed NamedTopic methods isDestroyed and isReleased to return true when appropriate.
- Fixed an issue where a service could fail to start and join the cluster.
- Excluded maven build artifacts from distributed library jars.
- Fixed an issue where the PrimingListener optimization of NearCache in Coherence*Extend was broken.
- Fixed an issue where DefaultCacheServer.shutdown() does not shut down the Coherence server gracefully.
- Enhanced the default SSL HostnameVerifier to be able to verify wild-card Subject Alternate Names and to disable localhost matching by default. Matching of localhost can be enabled via a system property
- Fixed a race condition between TransferEvent.ASSIGNED and pre-commit EntryEvents. Interceptors registered for TransferEvent.ASSIGNED should fully complete prior to any EntryEvents for the same partition.
- Fixed an issue where a distributed service with active persistence may be terminated by an async write to an old persistent store.
- CVE-2021-2277 Disabled validation during XML deserialization.
- Fixed an issue where the bootstrap API can deadlock if the stop() method is called on a Coherence instance before start-up has completed.
- Fixed an issue with the VisualVM Plugin where no error message was displayed when connecting to an invalid URL.
- Improved ConverterCollections.getNamedCache to support generics and correctly implement methods putIfAbsent, remove, replace and merge. The return types were widened for some of the factory methods in ConverterCollections to be interface and not implementation based.
- Fixed an issue where loaded entry from CacheStore has inconsistent entry-event type and synthetic flag.
- Added new attributes starting with Client to ConnectionMBean to identify a Connection to its client when a loadbalancer is between proxy and client. These attributes are mapped to metrics tags on Coherence.Connnection.* metric values.
- Fixed an issue where cluster join may automatically fallback to multicast if all of the configured WKA addresses are unresolvable.
Coherence CE v20.12.2
This is Patch 2 of the Coherence CE v20.12 release.
Fixed Issues
- Fixed an issue where a ClassNotFoundException would be thrown in some situations if javax.inject module is not on the class path.
- Bumped the version for Jackson dependencies and included Jackson jar files.
- Fixed an issue where javax.json was being shaded into the coherence jar.
- Fixed an issue where archiveSnapshot could throw an ArrayIndexOutOfBoundsException if the partition count is less than the storage enabled member size.
- Added service name and nodeId to the result of the Cache MBean query. In addition, user can also get the MBean type (type), cluster name (cluster), member name (member), and cache tier (tier) attributes from the Cache MBean query.
- Fixed an issue where a NullPointerException could be thrown during concurrent query with BetweenFilter and an entry remove operation.
- Fixed NamedTopic methods isDestroyed andFixed an issue where a NullPointerException could be thrown if the interface for multicast-listener is incorrectly specified. isReleased to return true when appropriate.
- Fixed an issue where a heavy key listener can be overridden by a lite listener from the same member.
- Fixed an issue where an AssertionException could be thrown by the PartitionSet.intersects method.
- Fixed an issue where a deadlock could occur during partition backup transfers.
- Fixed an issue where a persistence snapshot could contain stale cache data leading to a recovery error.
- Fixed an issue where a persistence snapshot recovery operation could hang indefinitely.
- Fixed an issue with view schemes if they become disconnected from the source causing deserialization errors.
- Fixed an issue with Management over REST and JMX where queries over all members of a large cluster may fail with an InstanceNotFoundException if a cluster member is shut down in middle of the query computation.
- Fixed an issue where an AssertionException could be thrown if the partition backup count is greater than 1.
- Fixed a bug in the PortableTypeGenerator where Coherence POF Raw types were not supported.
- Fixed SessionNamedTopic close and destroy handling to resolve memory leak and IllegalStateException thrown if closed after session already closed.
- Fixed an issue where a guardian timeout could occur on the service thread during partition recovery.
- Fixed an issue where a guardian timeout could occur while creating a snapshot when active persistence is enabled.
- Fixed an issue where the metrics for some persistence attributes have unexpected large values.
Coherence CE v14.1.1.0.5
This is patch 5 of the Coherence CE v14.1.1 release.
Fixed Issues
- Fixed SessionNamedTopic close and destroy handling to resolve memory leak and IllegalStateException thrown if closed after session already closed.
- Fixed an issue where the metrics for some persistence attributes have unexpected large values.
- Reverted a method signature change to ConfigurableCacheMap.evict(oKey).
- Fixed an issue where a guardian timeout could occur on the service thread during partition recovery.
- Fixed an issue with Management over REST and JMX where queries over all members of a large cluster may fail with an InstanceNotFoundException if a cluster member is shut down in middle of the query computation.
- Fixed an issue where a guardian timeout could occur while creating a snapshot when active persistence is enabled.
- Fixed an issue with view schemes if they become disconnected from the source causing deserialization errors.
- Fixed an issue where an AssertionException could be thrown if the partition backup count is greater than 1.
- Fixed an issue where the metric metadata value retrieved from the Coherence metrics endpoint when using Prometheus text format includes an additional space in the metric type name.
- Fixed an issue where a deadlock could occur during partition backup transfers.
- Fixed an issue where a persistence snapshot could contain stale cache data leading to a recovery error.
- Fixed an issue where a service restart could throw a SecurityException with the message "No security token available" when the security framework is enabled.
- Fixed an issue where a persistence snapshot recovery operation could hang indefinitely.
- Messages will no longer be deserialized if the originating member is no longer a member of the cluster at the time of processing.
Coherence CE v21.06 Milestone 2
This is Milestone 2 pre-release of the Coherence CE v21.06 release.
New Features
Breaking Changes
The following breaking changes were made to the Repository API introduced in M1 release, in order to improve and polish the API before the final release:
- Repository API:
findByIdmethod has been renamed togetfor consistency - Repository API:
findAllmethods have been renamed togetAllfor consistency - Repository API:
findAllmethods that accept sort order as an argument have been renamed togetAllOrderedByto avoid collision withgetAllmethods that are used to extract values or fragments from the entities within the repository
Bug Fixes
- Fixed an issue where
ConfigurableCacheMap.evict(oKey)failed with missing method exception. - Fixed an issue where distributed service could get guardian timeout during partition recovering.
- Fix Managment over REST HTTP request/JMX query over all members of a large cluster from failing with an
InstanceNotFoundExceptionif a cluster member is shutdown in middle of computation. - Fixed an issue with view schemes if they become disconnected from the source causing deserialization errors.
- Fixed an issue where
AssertionExceptioncould be thrown if partition backup count is greater than 1. - Fixed an issue where the value of a metric metadata retrieved from the Coherence metrics endpoint when using Prometheus text format included an additional space in the metric type name.
- Fixed an issue where a deadlock could occur during service thread does partition backup transfers.
- Fixed an issue where snapshot could contain stale cache data and leads to recovery error.
- Fixed an issue where an
AssertionExceptioncould be thrown by thePartitionSet.intersectsmethod. - Fixed an issue where a service restart could throw a
SecurityExceptionwith the message "No security token available" when the security framework is enabled. - Fixed an issue where recover snapshot operation could be hang indefinitely.
- Fixed an issue where a heavy key listener can be overridden by a lite listener from the same member.
- Fixed an issue where a
NullPointerExceptioncould be thrown during concurrent query withBetweenFilterand an entry remove operation. - Fixed an issue where a
NullPointerExceptioncould be thrown if the interface for multicast-listener is incorrectly specified. - Fixed
NamedTopicmethodsisDestroyedandisReleasedto returntruewhen appropriate. - Fixed an issue where a
ClassNotFoundExceptionwould be thrown in some situations ifjavax.injectmodule is not on the class path. - Fixed an issue where
archiveSnapshotcould throwArrayIndexOutOfBoundsExceptionif partition count is less than storage enabled member size. - Fixed an issue where a service could fail to start and join the cluster.
- Fixed an issue where
PrimingListeneroptimization ofNearCachein Coherence*Extend was broken. - Fixed an issue where
DefaultCacheServer.shutdowndoes not shutdown coherence server gracefully. - Fixed a race condition between
TransferEvent.ASSIGNEDand pre-commitEntryEvents. Interceptors registered forTransferEvent.ASSIGNEDshould fully complete prior to anyEntryEvents for the same partition. - Fixed an issue where distributed service with active persistence was terminated by an async write to an old persistent store.
- Fixed an issue where the Bootstrap API can deadlock if the
stop()method is called on aCoherenceinstance before start-up has completed. - Fixed an issue with the VisualVM Plugin where no error message was displayed when connecting to an invalid URL.
- Fixed an issue where loaded entry from
CacheStorehas inconsistent entry-event type and synthetic flag.
Improvements
- Added support for
Raw*types toPortableTypeGenerator. - Improved support for macro parameter expressions in cache configuration file.
- Excluded Maven build artifacts from distributed library jars.
- Enhanced the default SSL
HostnameVerifierto be able to verify wild-card Subject Alternate Names and to disable localhost matching by default. Matching of localhost can be enabled via a system property. - Improved
ConverterCollections.getNamedCacheto support generics and correctly implement methodsputIfAbsent,remove,replaceandmerge. The return types was widened for some of the factory methods inConverterCollectionsto be interface and not implementation based. - Added service name and
nodeIdto the result of the Cache MBean query. In addition, you can now get the MBean type (type), cluster name (cluster), member name (member), and cache tier (tier) attributes from the Cache MBean query. - Added new attributes starting with Client to
ConnectionMBeanto identify a connection to its client when a load balancer is between the proxy and the client. These attributes are mapped to metrics tags onCoherence.Connnection.* metricvalues. - Added support for CONCAT function to CohQL.
- Added support for case insensitive CohQL function names.
- Added asynchronous execution support to CohQL statements.
- Improved index support and interoperability between static and dynamic lambdas when method references are used.
- Removed incorrectly shaded
javax.jsonmodule fromcoherence.jar. - Simplified TLS configuration for Coherence gRPC proxies and clients.
Coherence CE v14.1.1.0.4
This is patch 4 of the Coherence CE v14.1.1 release.
Fixed Issues
- Fixed an issue with the JVisualVM plugin where columns on the Service tab would not display data correctly when connecting over REST.
- Fixed an issue where an AssertionException could be thrown by the PartitionSet.intersects method.
- Optimized the JVisualVM Plugin to more efficiently retrieve node storage data over REST.
- Fixed an issue where a heavy key listener can be overridden by a lite listener from the same member.
- Fixed an issue where a NullPointerException could be thrown during concurrent query with BetweenFilter and an entry remove operation.
- Updated the JVisualVM Plugin to take advantage of optimizations in management over REST.
- Fixed an issue where a NullPointerException could be thrown if the interface for multicast-listener is incorrectly specified.
- Fixed an issue where archiveSnapshot could throw an ArrayIndexOutOfBoundsException if the partition count is less than the storage enabled member size.
- Bumped the version for Jackson dependencies and included Jackson jar files.
- Added service name and nodeId to the result of the Cache MBean query. In addition, you can now get the MBean type (type), cluster name (cluster), member name (member), and cache tier (tier) attributes from the Cache MBean query.
- Removed shading of java.json packages from coherence.jar
- Updated the JVisualVM Plugin to more efficiently retrieve data after initial refresh.
- Fixed an issue with the JVisualVM Plugin where the Idle Threads and Task Avg in the Services tab were not being shown correctly.
- Fixed NamedTopic methods isDestroyed and isReleased to return true when appropriate.
- Fixed an issue where a service could fail to start and join the cluster.
- Fixed an issue where the PrimingListener optimization of NearCache in Coherence*Extend was broken.
- Fixed an issue where DefaultCacheServer.shutdown() does not shut down the Coherence server gracefully.
- Enhanced the default SSL HostnameVerifier to be able to verify wild-card Subject Alternate Names and to disable localhost matching by default. Matching of localhost can be enabled via a system property
- Fixed a race condition between TransferEvent.ASSIGNED and pre-commit EntryEvents. Interceptors registered for TransferEvent.ASSIGNED should fully complete prior to any EntryEvents for the same partition.
- Fixed an issue where a distributed service with active persistence may be terminated by an async write to an old persistent store.
- CVE-2021-2277 Disabled validation during XML deserialization.
- Fixed an issue with the VisualVM Plugin where no error message was displayed when connecting to an invalid URL.
- Fixed an issue where a service could repeatedly fail to recover a partition if persistence is using local disk storage.
- Improved the configuration of the hostname-verifier with the introduction of an "action" element with permitted values of "allow" or "default"; see the XSD for a thorough description.
- Added a system property to the JVisualVM Plugin to enable debugging of HTTP requests when connected via REST
- Fixed an issue with the VisualVM Plugin where cache memory bytes could show incorrectly in large clusters.
- Fixed an issue where CacheLifecycleEvents are not emitted for existing caches.
- Fixed an issue where CacheLifecycleEvents are not emitted on storage-disabled nodes.
- Fixed an issue where a cluster member may run into a StackOverflowError and shut down when processing a malformed deeply nested filter.
- Improved ConverterCollections.getNamedCache to support generics and correctly implement methods putIfAbsent, remove, replace and merge. The return types were widened for some of the factory methods in ConverterCollections to be interface and not implementation based.
- Fixed an issue where partition redistribution could be stuck after a snapshot recovery.
- Fixed a performance issue when running the VisualVM Plugin over REST against a large cluster.
- Fixed an issue where an IllegalStateException is thrown when a Coherence client runs inside an OSB Java callout utility.
- Added new attributes starting with Client to ConnectionMBean to identify a Connection to its client when a loadbalancer is between proxy and client. These attributes are mapped to metrics tags on Coherence.Connnection.* metric values.
Coherence CE v21.06 Milestone 1
This is Milestone 1 pre-release of the Coherence CE v21.06 release.
New Features
Breaking Changes
- None
Bug Fixes
- Fixed an issue where a
ClassNotFoundExceptionwould be thrown in some situations ifjavax.injectmodule is not on the class path. - Fixed an issue where
archiveSnapshotcould throwArrayIndexOutOfBoundsExceptionif partition count is less than storage enabled member size. - Fixed an issue where a service could fail to start and join the cluster.
- Fixed an issue where
PrimingListeneroptimization ofNearCachein Coherence*Extend was broken. - Fixed an issue where
DefaultCacheServer.shutdowndoes not shutdown coherence server gracefully. - Fixed a race condition between
TransferEvent.ASSIGNEDand pre-commitEntryEvents. Interceptors registered forTransferEvent.ASSIGNEDshould fully complete prior to anyEntryEvents for the same partition. - Fixed an issue where distributed service with active persistence was terminated by an async write to an old persistent store.
- Fixed an issue where the Bootstrap API can deadlock if the
stop()method is called on aCoherenceinstance before start-up has completed. - Fixed an issue with the VisualVM Plugin where no error message was displayed when connecting to an invalid URL.
- Fixed an issue where loaded entry from
CacheStorehas inconsistent entry-event type and synthetic flag.
Improvements
- Excluded Maven build artifacts from distributed library jars.
- Enhanced the default SSL
HostnameVerifierto be able to verify wild-card Subject Alternate Names and to disable localhost matching by default. Matching of localhost can be enabled via a system property. - Improved
ConverterCollections.getNamedCacheto support generics and correctly implement methodsputIfAbsent,remove,replaceandmerge. The return types was widened for some of the factory methods inConverterCollectionsto be interface and not implementation based. - Added new attributes starting with Client to
ConnectionMBeanto identify a connection to its client when a load balancer is between the proxy and the client. These attributes are mapped to metrics tags onCoherence.Connnection.* metricvalues. - Added support for CONCAT function to CohQL.
- Added support for case insensitive CohQL function names.
- Added asynchronous execution support to CohQL statements.
- Improved index support and interoperability between static and dynamic lambdas when method references are used.
- Removed incorrectly shaded
javax.jsonmodule fromcoherence.jar. - Simplified TLS configuration for Coherence gRPC proxies and clients.
Coherence CE v20.12.1
This is Patch 1 of the Coherence CE v20.12 release.
New Features
Breaking Changes
- Annotations from the
com.oracle.coherence.eventpackage in the maincoherencemodule have been moved back to thecom.oracle.coherence.cdi.eventspackage of thecoherence-cdimodule. - Most annotations from the
com.oracle.coherence.injectpackage in the maincoherencemodule have been moved back to thecom.oracle.coherence.cdipackage of thecoherence-cdimodule.
We apologize for the inconvenience, but this was absolutely necessary to get everything in the right place for the upcoming release of Micronaut and Spring integrations, which unfortunately couldn't reuse the same set of annotations used by the Coherence CDI integration.
Bug Fixes
- Fixed an issue where
PrimingListeneroptimization ofNearCachein Coherence*Extend was broken. - Fixed an issue where
DefaultCacheServer.shutdowndoes not shutdown Coherence server gracefully. - Enhanced the default SSL
HostnameVerifierto be able to verify wild-card Subject Alternate Names and to disablelocalhostmatching by default. Matching oflocalhostcan be enabled via a system property. - Fixed a race condition between
TransferEvent.ASSIGNEDand pre-commitEntryEvents. Interceptors registered forTransferEvent.ASSIGNEDshould fully complete prior to anyEntryEventsfor the same partition. - Fixed an issue where distributed service with active persistence was terminated by an async write to an old persistent store.
- Fixed an issue where the Bootstrap API can deadlock if the
stopmethod is called on aCoherenceinstance before the start up has completed. - Fixed an issue where loaded entry from
CacheStorehas inconsistent entry-event type and synthetic flag. - Excluded Maven build artifacts from distributed library jars.
Improvements
- Synchronized dependencies with Helidon 2.2.1.
- Added
SessionConfiguration.createmethod to Bootstrap API. - Improved
ConverterCollections.getNamedCacheto support generics and correctly implement methodsputIfAbsent,remove,replaceandmerge. The return types was widened for some of the factory methods inConverterCollectionsto be interface and not implementation based.
Coherence CE v20.12
This is the official Coherence CE v20.12 release including a new API to configure & start Coherence, and faster recovery from disk.
New Features in 20.12:
Bugs fixed since Coherence CE 20.06.1:
- Improved partition assignment strategy to adaptively wait for distribution plans to complete before suggesting new advice.
- Added events around Session lifecycle.
- Fixed an issue where ValueUpdater interface was not serializable and could cause certain lambda entry processors to fail to execute.
- Updated helidon dependency to latest version, 2.2.0
- Fixed dependencies in coherence-java-client to not require helidon.
- Fixed an issue with the VisualVM Plugin where no error message was displayed when connecting to an invalid URL.
- Fixed an issue with the VisualVM Plugin where cache memory bytes could show incorrectly in large clusters.
- Fixed an issue where service could fail to recover a partition repeatedly if persistence enabled and cluster shutdown without suspending first.
- Improved the configuration of the hostname-verifier with the introduction of an "action" element with permitted values of "allow" or "default"; see the XSD for a thorough description.
- Fixed an issue where CacheLifecycleEvents are not emitted for existing caches.
- Fixed an issue where a bad client request could cause a Coherence server to shut down and prevent new servers from joining the cluster.
- Fixed an issue where a service could repeatedly fail to recover a partition.
- Fixed a memory leak of metrics metadata when metrics is enabled.
- Fixed an issue with coherence-json module removing jackson-annotations as a required runtime library.
- Fixed an issue where a custom namespace handler cannot be used within a backing-map-scheme element.
- Fixed an issue where loaded entry from CacheStore has inconsistent entry-event type and synthetic flag.
- Fixed an issue where PartitionedCache's PartitionControl may hang indefinitely due to a discarded backup message.
- Fixed a memory leak which can occur in an *Extend client when using a custom AddressProvider.
- Fixed an issue where a service could be terminated while finalizing a cache request.
- CVE-2020-14756 Fixed an issue where the JEP 290 ObjectInputFilter is bypassed when deserializing an ExternalizableLite object.
- Fixed an issue where the service thread could be terminated while blocked waiting for an index rebuild to finish.
- Fixed an issue where a service with on-demand persistence mode could be blocked by the recovery quorum from a system property.
- Corrected the MANIFEST.MF Bundle-Version in Coherence jar files.
- Fixed an issue where a deadlock could occur when a node becomes the dynamic management senior while there are other management nodes in the cluster.
- Improved recovering from persistence by deferring contentious maintenance tasks.
- Fixed an issue where a cache remove operation could get lost during partition transfer.
- Fixed an issue where NonBlockingFiniteStateMachine.quiesceThenStop() does not shut down the state machine's event processing thread.
- Fixed an issue where partition recovery could take a long time for a large cluster, especially with persistence using shared disk storage.
- Added new attributes starting with Client to ConnectionMBean to identify a Connection to its client when a loadbalancer is between proxy and client. These attributes are mapped to metrics tags on Coherence.Connnection.* metric values.
- Fixed an issue with binary map detection within a ContinuousQueryCache.
- Fixed an issue where partition distribution may fail to reach a balanced state within 5 minutes after recovering from a persistence snapshot.
- Fixed an issue where a NullPointerException could be thrown during partition redistribution.
- Fixed a race condition in ConfigurableCacheFactory where concurrent releaseCache() or destroyCache() calls could result in an IllegalArgumentException being thrown.
- Improved Coherence JVisualVM Plugin to work with 2.0.x versions.
- Fixed an issue with the JVisualVM Plugin where it did not correctly function against Coherence-CE versions.
- Fixed an issue where TcpRing may incorrectly trigger eviction of a temporarily network unreachable cluster member.
- Fixed an issue where partition distribution for a large cluster could take a long time to reach the desired state.
- Added security enhancement that enables configuring between secure static lambdas and more convenient to use dynamic lambdas.
- Coherence now recovers data in parallel within a member/process, in addition to in parallel across the cluster. This allows the cluster, and more importantly the associated data, to be made available as quickly as possible.
- Fixed an issue where a registered MapTrigger may not be called.