Skip to content

Coherence CE v21.06

Compare
Choose a tag to compare
@harveyraja harveyraja released this 30 Jun 18:51

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.