Skip to content

Coherence CE 24.03

Compare
Choose a tag to compare
@pthilagar pthilagar released this 22 Mar 02:25
· 380 commits to main since this release

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.

  1. COH-29737 Improved deserialization performance of very large byte arrays (> 100MB)
  2. 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 properties coherence.distributed.threads.{min|max} if provided and the concurrent cache specific system properties are not set.
  3. 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.
  4. COH-28849 Added the ability to pass a custom Executor to AsyncNamedCache 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.
  5. COH-28810 Added a message to stdout which prints the Coherence logging configuration when the Coherence logger is set to level 6 or higher.
  6. COH-28809 Reduced the frequency of the messages displayed (to once every 60 seconds) when the BinaryMemoryCalculator cannot calculate the index size.
  7. COH-28726 An internal ForkJoinPool is now used to run queries in parallel across all owned partitions.
  8. COH-28725 Improved the Coherence Gradle Plugin POF instrumentation support for multi-module Gradle builds.
  9. COH-28615 The distributed executor service will now distribute tasks to executors in a round-robin fashion.
  10. COH-28601 Integrated support for OpenTelemetry. See the documentation for further details.
  11. COH-28572 Re-enabled the Coherence Gradle Plugin, upgraded to Gradle 8.4 and provided Java 21 support.
  12. COH-28552 Improved the filter reordering logic for composite filters.
  13. COH-28550 Improved performance of filter-based aggregators by leveraging partitioned index.
  14. COH-28549 Improved performance of filter-based entry processors by leveraging partitioned index.
  15. 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 by bdb-store-manager.
  16. COH-28314 Added the ability to insert JSON data via CohQL.
  17. COH-28004 Fixed "Started Cluster" log message to clarify that a JOINING member's version is a transport protocol compatibility version, not the member's actual Coherence version.
  18. COH-27990 Added the ClearCount attribute to the StorageManager MBean which shows how many times clear() has been called on a cache.
  19. COH-27952 Enhanced the Gradle plugin to provide incremental build support for POF classes.
  20. COH-27105 Added the reportPartitionStats operation to the StorageManager MBean to report cache partition sizes for a cache.
  21. COH-25882 Added getClusterDescription, getServiceDescription and getNodeDescription operations to the Cluster, Service and ClusterNode MBeans to retrieve details about a cluster, service and member.
  22. COH-25729 Added write-behind support for cache store erase() and eraseAll() operations.
  23. COH-24445 Added cache backed implementations of java.util Queue and Deque and java.util.concurrent BlockingQueue and BlockingDeque.

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 the coherence-helidon-grpc, coherence-helidon-client and coherence-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

  1. COH-29765 Fixed an issue where multiple long running tasks may prevent other tasks from being executed by concurrent Executors.
  2. COH-29725 Fixed an issue where the executor service would recreate a failed-over task upon re-execution after a yield.
  3. COH-29647 Fixed an issue where the executor service would incorrectly increment the tasks-in-progress count when re-executing a yielded task.
  4. COH-29571 Fixed an issue where an IllegalArgumentException could be thrown when looking up a named executor when using POF.
  5. COH-29569 Fixed an issue where deserialization of 4-byte UTF-8 sequences would fail.
  6. COH-29537 Fixed an issue where the NodeId column was missing from the view report.
  7. COH-29424 Fixed a performance regression in InFilter.
  8. COH-29419 Fixed an issue where CQC synchronization with the reference cache may miss updates when its initialization runs concurrent with changes.
  9. COH-29418 Fixed an issue where the cluster service did not honor the coherence.service.startup.timeout and coherence.service.clusterservice.startup.timeout system properties.
  10. COH-29389 Fixed an issue where an IllegalStateException could be thrown when terminating a Coherence/Spring Boot application.
  11. COH-29381 Fixed an issue with the Bootstrap API that could prevent a Coherence Session from being found when using Spring Boot.
  12. 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.
  13. COH-29300 Fixed an issue where Caffeine could not be configured or used as a near cache front map.
  14. COH-29260 Updated JLine to version 3.25.0.
  15. COH-29205 Fixed an issue where pending events could remain on backup members for a longer time than expected if not acknowledged by clients.
  16. COH-29200 Fixed an issue where an executor service task submitted with the Debugging option wouldn't log any task execution details unless the coherence.executor.trace.logging system property was set to true and coherence.log.level is at least seven.
  17. COH-29194 Fixed an issue where some cache metrics would fail to register when using Micrometer.
  18. 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.
  19. COH-29179 Fixed an issue where the service thread would not heartbeat when all daemon pool threads are stuck.
  20. COH-29169 Updated ASM to version 9.6.
  21. COH-29154 Updated Helidon 3.x to version 3.2.5 and gRPC to version 1.60.0.
  22. COH-29120 Fixed an issue where gRPC did not correctly support key association.
  23. COH-29098 Added the truncate operation to the help command in the Console application.
  24. COH-29082 Fixed an issue where services could restart during graceful shutdown when using the Bootstrap API.
  25. COH-29063 Fixed an issue where requesting the default session using the bootstrap API could fail when using different class loaders.
  26. COH-28980 Fixed an issue where there may be leaked threads as a result of starting and stopping DefaultCacheServer multiple times within the same JVM instance.
  27. 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.
  28. 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.
  29. COH-28965 Fixed an issue where the Coherence default HostnameVerifier may erroneously reject a valid host name.
  30. COH-28956 Added a Management over REST endpoint to retrieve the view caches in a cluster.
  31. COH-28924 Fixed an issue where the executor service in-progress count could be incremented twice per task.
  32. COH-28922 Fixed an issue where a ClassCastException may be thrown when transferring partitions containing entries with an expiry.
  33. COH-28917 Fixed an issue where increasing the channel count for a topic may cause an UnsupportedOperationException.
  34. COH-28911 Fixed an issue where put, get, and remove operations from a gRPC client or when using AsyncNamedMap or AsyncNamedCache did not trigger the cache store.
  35. COH-28841 Fix for Netty CVE-2023-44487.
  36. COH-28813 Fixed an issue where executor tasks may not execute under high load.
  37. COH-28805 Fixed an issue where a PartitionedCache may be terminated due to an unhandled NullPointerException in onBackupListenerRequest().
  38. COH-28772 Updated Netty to version 4.1.100.Final, and Jersey to version 3.0.11.
  39. 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.
  40. 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 the PRESENT invalidation strategy. The observable failure is thread(s) hung waiting for near cache key locks that are never released.
  41. COH-28705 Fixed an issue where a RequestTimeoutException may be thrown when setting an MBean attribute due to the operation using a small timeout value instead of the service request timeout.
  42. COH-28652 Fix a performance regression by removing unnecessary JEP-290 filter checking of the array length of a String or Binary.
  43. COH-28648 Fixed an issue in OpenTelemetry support that would allow the tracing runtime to be re-initialized when being disabled dynamically via JMX.
  44. COH-28599 Fixed an issue where topic subscribers channel allocations were sometimes not cleaned up when the subscribers owning member departed from the cluster.
  45. COH-28562 Fixed an issue where an IllegalAccessException may be thrown in DefaultMemberIdentity.makeProcessName() with Java 17 or higher.
  46. COH-28548 Fixed a rare issue with the executor service where a dynamically registered executor could result in an inflight task not completing.
  47. 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.
  48. COH-28538 Fixed a race condition which could cause a PagedTopic to miss messages when cancelling futures returned by a subscriber.
  49. COH-28536 Fixed an issue where a race condition is possible in SafeHashMap on ARM processors.
  50. COH-28507 Removed the Sun Codemodel shaded dependency from coherence.jar due to its dropped support in Java 17.
  51. COH-28485 Fixed QueryMap.values() methods that take a Filter argument to eliminate eager deserialization of returned values when called against partitioned cache, to bring them in-line with the existing keySet() and entrySet() implementations, which deserialize returned results lazily.
  52. COH-28484 Fixed an issue that prevents ExtractorComparator to be used with PofExtractor.
  53. COH-28461 Fixed an issue where UnsolicitedCommitEvents may not fire for some entries which are part of a bulk update such as a clear().
  54. COH-28336 Fixed an issue in OpenTracing integration where a NullPointerException may be thrown if the tracing propagation state is empty.
  55. COH-28279 Changed async() to throw an UnsupportedOperationException for Extend caches. Changed async() for near and view caches to call async() on the back cache.
  56. COH-28096 Fixed an issue where query results could include an entry that does not match specified filter under heavy concurrent updates.
  57. COH-28095 Removed obsolete coherence-metrics.jar. Coherence metrics functionality is included in coherence.jar.
  58. 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.
  59. COH-25354 Fixed a rare issue in the executor service where a task executing across multiple members may not complete properly.