Skip to content

Coherence CE v22.06

Compare
Choose a tag to compare
@tmiddlet2666 tmiddlet2666 released this 01 Jul 12:37

This is the official Coherence CE v22.06 release.

New Features in 22.06:

  • Java Modules Support - You can now run Coherence using Java modules.
  • Topics Improvements
    • A number of durability and stability improvements have been applied to make topics more stable during fail-over.
    • Topics now guarantee at least once delivery, where as in previous releases this was not the case. A subscriber that is part of a group can commit a processed message to indicate that processing is complete and it should not be redelivered on fail-over.
    • Subscribers that are part of a subscriber group are now fairly allocated topic channels to subscribe from; only a single subscriber receives messages from an allocated channel.
    • Subscribers will be timed-out after a configurable period of inactivity (or failure to heartbeat) causing their channels to be reallocated to remaining subscribers in the same group.
    • Added API methods to determine the number of unreceived elements for a NamedTopic subscriber or subscriber group.
  • Caffeine - Coherence now adds a Caffeine backing map implementation, enabling you to use Caffeine wherever the standard Coherence local cache can be used.
  • Cache Configuration Override - Similar to the Coherence Cluster override, you can now specify a cache configuration override to override elements of existing cache configuration with new elements at runtime.
  • BigDecimal-related aggregators - These aggregators now support the ability to set BigDecimal properties such as scale, roundingMode, stripTrailingZeros, and mathContext (where applicable) for the final result.
  • Persistent Backups - You can now enable and configure persistent backups which stores backup partitions on a disk, as additional copies of persisted primary one.
  • POF Configuration Discovery - It is now possible to make POF configuration files discoverable at runtime by the ConfigurablePofContext class instead of needing to put them inside <include> elements.
  • Support for MEMBER_JOINED and MEMBER_LEFT events for Extend clients - Extend proxy now sends MEMBER_JOINED and MEMBER_LEFT events to all active services on the proxy when a remote client joins and leaves. This event enables management of a service’s server side resources being retained per remote client. If a MemberListener is registered on a service and the environment has both remote and cluster member access to a service, the MemberListener may need to account for remote client MemberEvent(s).
  • SSL Improvements - Various SSL improvements that enable more flexible configuration and allow customizations through extensions. These include using private key and certificate files, using custom keystore, private key and certificate loaders, which can also be refreshable.
  • Locks and Semaphores can now be accessed via Coherence*Extend Java clients.
  • Health Check API - A new health check API to enable application code to determine the health of the local Coherence member. Management over REST has also been updated to support the health check API.
  • New Reports - Executor, View, Storage, and Proxy Connections.

Bugs fixed since Coherence CE 21.12:

  • COH-25733 Fixed an issue where the cluster service thread may be blocked on a member that is assuming the JMX cluster member role.
  • COH-25703 Fixed an issue with Coherence docker image where the system property, coherence.serializer, does not take effect when used to specify a default serializer.
  • COH-25653 Added the ability to show the Coherence version without starting a cluster via java -jar coherence.jar --version.
  • COH-25615 Fixed an issue where a lock on an invalidated session might not be released, causing other threads waiting on the lock to be stuck indefinitely, when a session is invalidated and replaced by a new one.
  • COH-25611 Changed the logging level to 9 for log messages pertaining to dynamic thread pool sizing.
  • COH-25544 Fixed an issue where an EntryProcessorEvent EXECUTED event raised by an invokeAll may incorrectly contain an empty entry set.
  • COH-25523 Fixed an issue where skipping null String references within a uniform map would raise an exception.
  • COH-25445 Fix for Jackson-Databind CVE-2020-36518.
  • COH-25371 Fixed an issue where cluster-quorum-policy attributes could not be overridden with a system-property.
  • COH-25350 Fixed an issue where a MessageBus connection with heartbeats enabled may throw an OutOfMemoryError when reestablishing a dropped connection.
  • COH-25343 Added a REST endpoint to the ClusterMemberResource to return the response of the reportEnvironment MBean operation of the ClusterNodeMBean, providing details about the Java environment and system properties.
  • COH-25318 Added system property coherence.discovery.address for providing the discovery address.
  • COH-25309 Fixed an issue where the high-units setting for a transactional-scheme was being ignored.
  • COH-25261 Fixed an issue that would incorrectly close the extend client channel upon service exit leading to an error being raised about the NamedCache being explicitly destroyed.
  • COH-25103 Fixed an issue where a StackOverflowError could occur when skipping null String references of a uniform collection during POF deserialization.
  • COH-25065 Fixed an issue where a PartitionedCache service could be terminated due to an unhandled NullPointerException in InflatableMap.
  • COH-25061 Fixed an issue where the Coherence JsonSerializer could not serialize a String made up of a single back-slash.
  • COH-25056 Fixed an issue where a SEGV core dump could occur in nio.DirectByteBuffer operations when releasing an AsyncBinaryStore backed by an external file.
  • COH-25049 Updated the Netty dependency version to 4.1.77.Final.
  • COH-24993 Fixed an issue in topics where seeking to the tail for a subscriber did not actually move the subscriber's position.
  • COH-24968 Fixed an issue where an *Extend client may incorrectly treat a cache as being explicitly destroyed in some rare scenarios.
  • COH-24945 Fixed an issue in NamedTopic Subscriber where a LockContentionException could be thrown when many subscribers are being created and polling for messages at the same time.
  • COH-24941 Fixed an issue where XmlHelper.overrideElement() may not maintain the order of elements in the resulting XML configuration.
  • COH-24927 Added CacheEvent.isExpired(). On ENTRY_DELETED, isExpired() will return true if the entry was evicted due to expiry.
  • COH-24891 Added ServiceMBean attribute StatusHACode for metrics support.
  • COH-24890 Added the ability to specify a domain name suffix for Coherence MBeans by setting the coherence.management-config.domain-name-suffix in the operational override configuration.
  • COH-24823 Fixed an issue where the Coherence Reporter proxy reports do not account for members joining and leaving the cluster.
  • COH-24799 Removed the shaded MVEL2 library from coherence-rest.jar and switched to using built in Coherence classes for Coherence REST query processing. MVEL can still be used for query processing if desired by adding the library (mvel2.jar) to the class path.
  • COH-24796 Fixed an issue where Management over REST queries could fail if non-Coherence MBeans exist with the same type field in the ObjectName, for example "type=Service".
  • COH-24773 Fixed an issue in NamedTopic Subscriber where the CompletableFuture returned from calls to Subscriber.receieve() could fail to complete on an empty topic when the Subscriber was created with the CompleteOnEmpty option was enabled.
  • COH-24741 Allow custom namespace handlers to be used in the operational configuration file.
  • COH-24722 Added support for using a password provider for the keystore password in the AccessController.
  • COH-24721 Fixed an issue with AccessController where keystores which support read access without a password could no longer be used without a password.
  • COH-24697 Corrected the operationId in the Management over REST Swagger documentation for the service stop operation.
  • COH-24694 Fixed an issue where NotSerializableException may be thrown when using invokeAll() on a partitioned cache with persistence configured in active mode.
  • COH-24665 Corrected the default value returned by the ClusterNodeMBean's tracingSamplingRatio when tracing dependencies aren't present on the class path.
  • COH-24584 Updated the Management over REST Swagger documentation to call out certain features that are only available in Grid Edition.
  • COH-24503 Added ViewMBean to show information about a view cache.
  • COH-24468 Fixed an issue where a PartitionedCache service may terminate due to an unhandled ClassCastException in PartitionedService$PartitionRecoverRequest$Poll.onResponse.
  • COH-24463 Added support for specifying a comma-separated list of addresses in address elements, such as for WKA, in Coherence configuration files.
  • COH-24428 Enhanced Coherence REST server logging to assist development time debugging by logging handled exceptions for a REST HTTP Response of BAD_REQUEST (status 400) at log level 6 or higher.
  • COH-24214 Removed identity token deserialization in NameService TcpAcceptor processing.
  • COH-23401 CVE-2022-21420 Added JEP 290 support for ExternalizableLite.
  • COH-23345 Improved cache operations to use an interruptible lock so that operations can be interrupted after the specified timeout.
  • COH-22085 Added reportEnvironment operation to the ClusterNode MBean to provide details about the Java environment and system properties.