This is the Coherence CE v25.03 release.
Requirements:
- Java 17 or higher
- Some features will work only on Java 21 or higher
Major New Features in Coherence CE 25.03
- Remote Topics
A remote topic is specialized topic service that routes operations to a topic on the Coherence cluster. The remote topic and the topic on the cluster must have the same topic name. Extend clients use theNamedTopic
interface as normal to get an instance of the topic. At run time, the topic operations are not executed locally but instead are sent using TCP/IP to an Extend or gRPC proxy service on the cluster. The fact that the topic operations are delegated to a topic on the cluster is transparent to the client code. There is no API difference between topics on a cluster member and topics on a client.
Other New Features and Enhancements in Coherence CE 25.03
COH-31826
Enhanced automatic detection of persistence targeting remote file-systems by identifying file system type osfc2
as a remote file-system and in such cases auto-enabled je.log.useODSYNC
to ensure database integrity in such environments.
COH-31695
Added xml-override
attribute with default name for specifying override file for Coherence default and coherence-concurrent
module cache configurations.
COH-31646
General refactoring and hardening of the Coherence gRPC APIs.
COH-31481
Removed use of java.lang.SecurityManager
and java.security.AccessController
when running on Java 24 and higher.
COH-31464
Fixed timing related issues in the NamedTopic
subscriber API and generally hardened the code base.
COH-31101
Updated the metrics format to conform to the OpenObservability spec.
COH-31087
Added the serializer name to the proxy server and client serializer mismatch log message.
COH-31079
Added the ability to run pre-defined reports using Management over REST API.
COH-31009
Moved JpaCacheLoader
and JpaCacheStore
into coherence-jpa
module, and changed the package name from com.tangosol.coherence.jpa
to com.oracle.coherence.jpa
.
COH-30940
Added new ValueExtractor
factory methods to the com.tangosol.util.Extractors
class.
COH-30790
Updated query explain and query trace output, as well as MaxQueryDescription
on StorageManager
MBean to show a better/more readable representation of filters and extractors being used.
COH-30731
Added CollectionExtractor
which enables projection of values within a collection using a nested ValueExtractor
.
COH-30514
Added a Management MBean and REST operation to fetch the persistence snapshot or recovery status, as well as a list of failed snapshots.
COH-30448
Improved the warning log message which describes a potential communication problem due to packet delivery failures to be more clear and accurate.
COH-30321
Removed the stack trace from the log message that indicates that a remote cache or invocation service failed to start due to being unable to connect to a proxy service.
COH-30057
Added support for system property coherence.guardian.log.threaddump.interval
which can be set to a time duration to reduce the frequency that guardian service thread dumps appear in the server log.
COH-29675
Added a warning message to the Name Service lookup utility, NSLookup
, when lookup of -name <service>
fails and the provided service does not match any of the predefined services.
COH-27121
Added a Management MBean operation and a REST endpoint to reset statistics for MBeans specified by a query string.
Bugs Fixed since Coherence CE 24.09
COH-31958
Updated Helidon to version 4.2.0
COH-31917
Fixed an issue where a partitioned cache service may be terminated due to an unhandled ArrayOutOfBoundsException
being thrown in some rare circumstances when a member leaves the cluster.
COH-31905
Fixed an issue where the default access controller and auditing authoriser did not properly print principal names in log messages.
COH-31840
Reduced the log level of BufferManager
log messages to FINEST
.
COH-31799
Fixed an issue where a topics subscriber may fail to reconnect after the underlying topic service has been stopped and restarted or suspended and resumed.
COH-31798
Updated Netty to version 4.1.118.FINAL.
COH-31783
Fixed an issue where using Caffeine as a backing map and performing eviction of a single entry could result in said entry still being briefly visible to other cache operations.
COH-31759
Fixed an issue where an IllegalArgumentException
may be thrown by Coherence HTTP endpoints when an unsupported HTTP method is received.
COH-31723
Fixed an issue where a topics subscriber may return an incorrect channel count if it is disconnected.
COH-31717
Enhanced LoginModule
to support providing the keystore password with a callback handler.
COH-31712
Fixed an issue where foreign namespace XML elements (such as <spring:bean>
) within a cachestore-scheme
would not be processed.
COH-31674
Fixed an issue where a topics subscriber may fail to be properly unsubscribed if the senior cluster member dies.
COH-31664
Fixed exceptions thrown during fail-over or shutdown of gRPC client connections.
COH-31614
Fixed an issue where an IllegalArgumentException
could be thrown when a cache persistence activity due to cache creation or deletion runs concurrently with taking a snapshot.
COH-31608
Updated OpenTelemetry to version 1.46.0.
COH-31596
Fixed an issue that could prevent OpenTelemetry spans from being properly linked.
COH-31497
Fixed an issue where taking snapshots without suspending the service could result in thread starvation due to concurrent requests.
COH-31480
Fixed an issue where RemoveCount
on the StorageManager
MBean was not being reset when calling resetStatistics()
.
COH-31399
Updated gRPC to version 1.65.1.
COH-31385
Fixed an issue where a NullPointerException
may be thrown when fetching the BinaryEntries
from a TransferEvent
if the partition is migrating.
COH-31376
Fixed an issue where published Coherence source JAR doesn't contain Java sources files.
COH-31373
Fixed an issue where doing a rolling upgrade could result in an IllegalStateException
and prevent distributed cache services from starting.
COH-31325
Fixed an issue where the ContinuousQueryCache
constructor did not honor the request for no local cache values when a map listener was provided. Note: this fix results in a behavior change as the CQC constructor now infers that the provided listener is a lite listener.
COH-31253
Fixed an issue where internal CacheStore
operations can result in unsolicited commit events.
COH-31217
Fixed an issue where calling seek()
on a topic subscriber could intermittently cause a ClassCastException
on a subsequent receive()
call.
COH-31210
Fixed an issue where a NullPointerException
could be thrown when using the coherence-mp-config
module.
COH-31209
Fixed an issue where overriding the backing map for a caching scheme using a cache config override throws an exception because the merging of two scheme elements results in invalid XML.
COH-31208
Fixed an issue where using a cache configuration override containing cache-mapping
for the same cache-name
as the parent cache configuration file results in IllegalArgumentException
.
COH-31179
Fixed an issue where an IllegalArgumentException
could be thrown when a cache persistence activity runs concurrently with taking a snapshot.
COH-31178
Fixed an issue where cache map listeners were not unregistered when a gRPC proxy service was shutdown.
COH-31164
Fixed an issue where using the SimilaritySearch
aggregator from gRPC clients did not work
COH-31125
Fixed an issue where using the NullFirst
argument set to true in a SafeComparator
would not be honored when running queries.
COH-31109
Fixed an issue during a rolling upgrade where a corrupted message type 87 can occur in a Coherence storage enabled server running version 12.2.1.4/14.1.1.0 while other storage-enabled cluster members are version 14.1.1.2206 or higher.
COH-31092
Fixed the issue where SimilaritySearch
aggregator couldn't be executed asynchronously.
COH-31022
Fixed an issue where persistence snapshots could produce a NullPointerException
in some rare circumstances if a rolling upgrade to remove cache mappings was not correctly done.
COH-30999
Fixed an issue where the getOrDefault()
call on a cache that uses RWBM with cache store does not propagate the call through to the cache store when the entry does not exist.
COH-30969
Fixed an issue where InFilter
queries could take longer to return.
COH-30950
Fix equality and hash code for UniversalExtractor
(UE), used by indexing, when UE name is a JavaBean accessor but missing method suffix, ()
, , i.e. UE("getProperty")
is now equivalent to UE("getProperty()")
and ReflectionExtractor("getProperty")
.
COH-30939
Fixed a thread safety issue when calling removeAll
on SafeHashMap
.
COH-30928
Updated the executor services CronTask
to allow the user to configure whether or not the wrapped task should be cloned upon each successful execution or not where as previously, it always performed the clone which prevents the task from maintaining internal state.
COH-30916
Fixed an issue where performing a rolling upgrade would cause a NullPointerException
and make the cache service restart.
COH-30907
Fixed an issue that prevented the use of additional filters when using NamedOrchestration
to orchestrate tasks to the executor service.
COH-30900
Fixed an issue where recovering multiple large caches with indices from persistence could result in invalid index contents.
COH-30845
Fixed an issue where entry processor invocations may never be re-sent when re-distribution takes place at the same time.
COH-30828
Fixed an issue where the history file was not getting saved to disk for CohQL query console & Coherence console when using jline.jar
.
COH-30772
Fixed an issue where a write-behind remove might get stuck when there are outstanding pending write-behind operations on the entry.
COH-30426
Added the ability to reference property names of JSON data and Java Record in CohQL. Note that older .NET and C++ extend clients using QueryHelper
need to be upgraded to work with this change.
COH-30132
Fixed an issue where a ClassCastException
or NullPointerException
may be thrown by InvocableMap
during service config processing in some very rare scenarios.
COH-29982
Added backwards and forward compatibility support for system properties with prefix com.oracle.common
and com.oracle.coherence.common
, if system property lookup fails beginning with one prefix, retry lookup with alternative prefix. This change accommodates moving package com.oracle.common
to com.oracle.coherence.common
in Coherence version 14.1.1.0.
COH-29800
Fixed an issue where the backing map manager wasn't correctly set and initialized when using a View Scheme.