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.