Coherence CE 24.03
This is the Coherence CE v24.03 release.
Requirements:
- Java 17 or higher
- Some features will work only on Java 21 or higher
New Features in CE 24.03
Coherence CE 24.03 is now compatible with both Helidon 3.x and Helidon 4.x.
COH-29737
Improved deserialization performance of very large byte arrays (> 100MB)COH-29199
Added the ability to configure the number of worker threads used by the concurrent cache service using system properties:coherence.concurrent.distributed.threads.{min|max}
. The concurrent cache service will honor the global system propertiescoherence.distributed.threads.{min|max}
if provided and the concurrent cache specific system properties are not set.COH-29020
Added additional columns to the memory status report to show memory information in megabytes. Additionally ensured that in all reports the display of report values never uses exponential notation.COH-28849
Added the ability to pass a customExecutor
toAsyncNamedCache
to use to complete the invoked futures instead of using the Coherence common pool. This is useful if it is a requirement to strictly enforce order of completion of async futures.COH-28810
Added a message tostdout
which prints the Coherence logging configuration when the Coherence logger is set to level 6 or higher.COH-28809
Reduced the frequency of the messages displayed (to once every 60 seconds) when theBinaryMemoryCalculator
cannot calculate the index size.COH-28726
An internalForkJoinPool
is now used to run queries in parallel across all owned partitions.COH-28725
Improved the Coherence Gradle Plugin POF instrumentation support for multi-module Gradle builds.COH-28615
The distributed executor service will now distribute tasks to executors in a round-robin fashion.COH-28601
Integrated support for OpenTelemetry. See the documentation for further details.COH-28572
Re-enabled the Coherence Gradle Plugin, upgraded to Gradle 8.4 and provided Java 21 support.COH-28552
Improved the filter reordering logic for composite filters.COH-28550
Improved performance of filter-based aggregators by leveraging partitioned index.COH-28549
Improved performance of filter-based entry processors by leveraging partitioned index.COH-28458
Fixed an issue where JPMS--add-exports java.management/sun.management=com.oracle.coherence
was required when using Berkeley Database JE database for storage, enabled bybdb-store-manager
.COH-28314
Added the ability to insert JSON data via CohQL.COH-28004
Fixed "Started Cluster" log message to clarify that aJOINING
member's version is a transport protocol compatibility version, not the member's actual Coherence version.COH-27990
Added theClearCount
attribute to theStorageManager
MBean which shows how many timesclear()
has been called on a cache.COH-27952
Enhanced the Gradle plugin to provide incremental build support for POF classes.COH-27105
Added thereportPartitionStats
operation to theStorageManager
MBean to report cache partition sizes for a cache.COH-25882
AddedgetClusterDescription
,getServiceDescription
andgetNodeDescription
operations to the Cluster, Service and ClusterNode MBeans to retrieve details about a cluster, service and member.COH-25729
Added write-behind support for cache storeerase()
anderaseAll()
operations.COH-24445
Added cache backed implementations ofjava.util
Queue
andDeque
andjava.util.concurrent
BlockingQueue
andBlockingDeque
.
For more information see the Core Improvements documentation.
Breaking changes in CE 24.03
The following lists subset of bugs fixed that are considered "breaking" changes:
COH-28501
Removed thecoherence-helidon-grpc
,coherence-helidon-client
andcoherence-helidon-proxy
modules. While a Coherence gRPC server and client still work in a Helidon application, it is no longer possible to automatically serve Coherence gRPC proxy endpoints on the Helidon MP gRPC server. Coherence configures and creates its own independent gRPC clients and server.
Bugs Fixed since Coherence CE 23.09
COH-29765
Fixed an issue where multiple long running tasks may prevent other tasks from being executed by concurrent Executors.COH-29725
Fixed an issue where the executor service would recreate a failed-over task upon re-execution after a yield.COH-29647
Fixed an issue where the executor service would incorrectly increment the tasks-in-progress count when re-executing a yielded task.COH-29571
Fixed an issue where anIllegalArgumentException
could be thrown when looking up a named executor when using POF.COH-29569
Fixed an issue where deserialization of 4-byte UTF-8 sequences would fail.COH-29537
Fixed an issue where theNodeId
column was missing from the view report.COH-29424
Fixed a performance regression inInFilter
.COH-29419
Fixed an issue where CQC synchronization with the reference cache may miss updates when its initialization runs concurrent with changes.COH-29418
Fixed an issue where the cluster service did not honor thecoherence.service.startup.timeout
andcoherence.service.clusterservice.startup.timeout
system properties.COH-29389
Fixed an issue where anIllegalStateException
could be thrown when terminating a Coherence/Spring Boot application.COH-29381
Fixed an issue with the Bootstrap API that could prevent a Coherence Session from being found when using Spring Boot.COH-29304
Fixed an issue where the last polled position for a subscriber group in a channel was not properly rolled back on subscriber fail over, causing some messages to never be received.COH-29300
Fixed an issue where Caffeine could not be configured or used as a near cache front map.COH-29260
Updated JLine to version 3.25.0.COH-29205
Fixed an issue where pending events could remain on backup members for a longer time than expected if not acknowledged by clients.COH-29200
Fixed an issue where an executor service task submitted with the Debugging option wouldn't log any task execution details unless thecoherence.executor.trace.logging
system property was set to true andcoherence.log.level
is at least seven.COH-29194
Fixed an issue where some cache metrics would fail to register when using Micrometer.COH-29192
Fixed an issue where hostname verification could fail due to missing peer certificates when using Coherence with TLS enabled on Java 17 and higher.COH-29179
Fixed an issue where the service thread would not heartbeat when all daemon pool threads are stuck.COH-29169
Updated ASM to version 9.6.COH-29154
Updated Helidon 3.x to version 3.2.5 and gRPC to version 1.60.0.COH-29120
Fixed an issue where gRPC did not correctly support key association.COH-29098
Added thetruncate
operation to thehelp
command in the Console application.COH-29082
Fixed an issue where services could restart during graceful shutdown when using the Bootstrap API.COH-29063
Fixed an issue where requesting the default session using the bootstrap API could fail when using different class loaders.COH-28980
Fixed an issue where there may be leaked threads as a result of starting and stoppingDefaultCacheServer
multiple times within the same JVM instance.COH-28979
Fixed an issue where there may be leaked threads as a result of starting and stopping Coherence multiple times within the same JVM instance.COH-28974
Fixed an issue where auto-discovered session configurations could be incorrectly scoped or not associated with the correct class loader. This particularly affects applications running in web containers and application servers.COH-28965
Fixed an issue where the Coherence defaultHostnameVerifier
may erroneously reject a valid host name.COH-28956
Added a Management over REST endpoint to retrieve the view caches in a cluster.COH-28924
Fixed an issue where the executor service in-progress count could be incremented twice per task.COH-28922
Fixed an issue where aClassCastException
may be thrown when transferring partitions containing entries with an expiry.COH-28917
Fixed an issue where increasing the channel count for a topic may cause anUnsupportedOperationException
.COH-28911
Fixed an issue where put, get, and remove operations from a gRPC client or when usingAsyncNamedMap
orAsyncNamedCache
did not trigger the cache store.COH-28841
Fix for Netty CVE-2023-44487.COH-28813
Fixed an issue where executor tasks may not execute under high load.COH-28805
Fixed an issue where aPartitionedCache
may be terminated due to an unhandledNullPointerException
inonBackupListenerRequest()
.COH-28772
Updated Netty to version 4.1.100.Final, and Jersey to version 3.0.11.COH-28728
Fixed an issue where a topic subscriber could stop receiving messages from a newly allocated channel after the previous owner of the channel departed.COH-28721
Fixed an issue where near cache key lock(s) were not being properly released when the back map is truncated and the near cache is using thePRESENT
invalidation strategy. The observable failure is thread(s) hung waiting for near cache key locks that are never released.COH-28705
Fixed an issue where aRequestTimeoutException
may be thrown when setting an MBean attribute due to the operation using a small timeout value instead of the service request timeout.COH-28652
Fix a performance regression by removing unnecessary JEP-290 filter checking of the array length of a String or Binary.COH-28648
Fixed an issue in OpenTelemetry support that would allow the tracing runtime to be re-initialized when being disabled dynamically via JMX.COH-28599
Fixed an issue where topic subscribers channel allocations were sometimes not cleaned up when the subscribers owning member departed from the cluster.COH-28562
Fixed an issue where anIllegalAccessException
may be thrown inDefaultMemberIdentity.makeProcessName()
with Java 17 or higher.COH-28548
Fixed a rare issue with the executor service where a dynamically registered executor could result in an inflight task not completing.COH-28547
Fixed an issue where using a conditional index on a key extractor resulted in the corresponding index not being updated when entry values were modified, and queries would return incorrect results.COH-28538
Fixed a race condition which could cause aPagedTopic
to miss messages when cancelling futures returned by a subscriber.COH-28536
Fixed an issue where a race condition is possible inSafeHashMap
on ARM processors.COH-28507
Removed the Sun Codemodel shaded dependency fromcoherence.jar
due to its dropped support in Java 17.COH-28485
FixedQueryMap.values()
methods that take aFilter
argument to eliminate eager deserialization of returned values when called against partitioned cache, to bring them in-line with the existingkeySet()
andentrySet()
implementations, which deserialize returned results lazily.COH-28484
Fixed an issue that preventsExtractorComparator
to be used withPofExtractor
.COH-28461
Fixed an issue whereUnsolicitedCommitEvents
may not fire for some entries which are part of a bulk update such as aclear()
.COH-28336
Fixed an issue in OpenTracing integration where aNullPointerException
may be thrown if the tracing propagation state is empty.COH-28279
Changedasync()
to throw anUnsupportedOperationException
for Extend caches. Changedasync()
for near and view caches to callasync()
on the back cache.COH-28096
Fixed an issue where query results could include an entry that does not match specified filter under heavy concurrent updates.COH-28095
Removed obsoletecoherence-metrics.jar
. Coherence metrics functionality is included incoherence.jar
.COH-28074
Fixed an issue where partitioned queries took longer to execute than before, this fix now provides as fast or faster execution due to the ability to run queries in parallel across partitions.COH-25354
Fixed a rare issue in the executor service where a task executing across multiple members may not complete properly.