4 Bugs Fixed and Enhancements in This Release

Learn about the bugs fixed and enhancements in this release.

This section lists bugs fixed and enhancements in Oracle Coherence 26.1.0.0.0, grouped by area. Some fixes may also be available in maintenance releases. Consult the README included with the patch installation.

Security policy and compatibility changes are described in Breaking Changes. Review those preparation steps even if the workload did not encounter one of the issues listed here.

Cache Services, Queries, and Indexes

Table 4-1 Cache Services, Queries, and Indexes Bugs Fixed and Enhancements

Bug Number Description
40160353 Fixed an issue where distributed grouping operations using Java serialization could fail when their results contained sorted sets or Optional values.
40128933 Fixed an issue where AsyncNamedCache operations could throw a NullPointerException after a failed cache restart, masking the original error and preventing subsequent recovery.
40072370 Coherence distributed queries and streaming aggregators now use bounded, daemon-pool-coordinated partition execution instead of member-local ForkJoinPool fan-out and blocking joins. Eligible queries stream partition responses progressively, while streaming aggregators preserve one member-level response and choose partition or member execution according to explicit BY_PARTITION/BY_MEMBER contracts or current platform-daemon-pool pressure. This improves indexed-query throughput and substantially reduces aggregation latency below the service saturation knee without adding overload pressure when the service is busy, while preserving protocol compatibility and existing fallback behavior.
39942912 Fixed an issue where SimpleMapIndex could overcount or undercount its memory footprint after repeated updates to collection-valued index entries. Footprint accounting now remains accurate as inverse mappings change or internal collections expand.
39635940 Fixed an issue where interrupted cache operations could leave partition ownership processing stuck, causing repeated partition transfer attempts and potentially requiring affected members to be restarted.
39542054 Fixed an issue where a cache configured with write-behind remove could report a negative size after entries were removed.
39089627 Fixed an issue where partition migration may be unable to complete in some rare circumstances.
39023805 Improved range filters performance via direct forward index evaluation.
39023803 Fixed ArrayFilter memory leak that could cause OutOfMemoryError.
38914458 Fixed parallel query execution issue that could cause some partitions to be silently dropped from the query results.
38748319 Fixed an issue where a partitioned cache service could terminate with a ClassCastException involving MultiBufferWriteBuffer and BufferSequence.
38582916 Fixed an issue where an index may not be created for one or more partitions after recovery from persistence.
38506522 Fixed a performance regression due to excessive calls to construct DoAsAction instances.
38231092 Fixed an issue where the PartitionedCache partition assignment strategy may try to lower the backup strength below NODE_SAFE resulting in a log message reporting an IllegalStateException.
37388347 Fixed an issue where a view-scheme without a back-scheme did not pick up default configuration values for the embedded distributed-scheme, for example the default serializer could be used instead of the configured default serializer.

Coherence Concurrent and Daemon Pools

Table 4-2 Coherence Concurrent and Daemon Pools Bugs Fixed and Enhancements

Bug Number Description
40128719 Fixed an issue where cancelled Coherence Executor tasks could leave their futures incomplete, causing result retrieval to time out or report an incorrect exception. Cancelled futures now complete promptly and correctly report cancellation.
39955738 Platform daemon pools now adapt worker concurrency to workload behavior. CPU-bound services remain near the available processor count, while blocking and I/O-bound services can grow beyond it when measured throughput demonstrates a benefit. Ineffective growth is automatically reversed, improving throughput and latency under blocking workloads without adding unnecessary workers to CPU-bound services.
39820969 Fixed an issue where TCP proxy worker pools configured without a maximum thread count could grow without bound under load, potentially exhausting native thread resources and destabilizing cluster members. Unbounded daemon pools now share a JVM-wide worker budget while honoring configured minimum and explicit maximum thread counts.
39363219 Coherence Concurrent now enables Extend heartbeats by default for concurrent proxy/client connections. This improves detection of failed or abruptly disconnected Extend clients and helps release client-owned concurrent resources, such as remote locks, more promptly. The defaults can be overridden with coherence.concurrent.extend.heartbeat.interval and coherence.concurrent.extend.heartbeat.timeout.
39256499 Improved the legacy Coherence DaemonPool load-balancing behavior for skewed workloads by waking idle workers pool-wide so they can steal work from busy queues. This reduces backlog and tail latency without changing the default work-slot configuration or collapsing all work onto a single queue.
33748696 Coherence daemon pool dynamic resizing has been improved to react more quickly to sudden increases in queued work. The resize algorithm now uses throughput and utilization signals to grow worker pools more aggressively during bursts, while shrinking linearly and with cooldown to avoid oscillation once load subsides. For platform-thread daemon pools with no explicit thread-count-max, Coherence now derives a safe effective maximum from JVM heap and thread stack sizing, with a built-in ceiling, to prevent accidental unbounded thread growth under heavy backlog conditions. Explicitly configured finite daemon pool limits continue to be honored.

Coherence*Web

Table 4-3 Coherence*Web Bugs Fixed and Enhancements

Bug Number Description
39751078 Fixed an issue where Coherence*Web session reaper tasks could repeatedly fail after a shared session cache was released.
39668710 Fixed a sticky-session registry race during parallel Coherence*Web application deployment.

Dependencies and Packaging

Table 4-4 Dependencies and Packaging Bugs Fixed and Enhancements

Bug Number Description
40257416 Updated ASM to version 9.10.1.
40257412 Updated ONNX Runtime to version 1.25.0.
40257363 Updated GraalVM component library to version 25.0.5.0.2.
40197619 Updated ClassGraph to version 4.8.199.
40135638 Updated Netty to version 4.1.139.Final.
40047180 Updated Gradle to version 9.7.1.
39765709 Updated Jackson to version 2.21.5.
39765472 Updated OpenTelemetry to version 1.64.0.
39463975 Removed the macOS x86_64 HNSW native library from the coherence-hnsw module.
39311129 Fixed an issue where the Coherence POF Maven Plugin patch artifacts could reference SNAPSHOT versions in their Maven metadata, which could cause repository synchronization or publication failures.
39298054 Updated Log4J 2 to version 2.25.4.
39120403 Updated Jersey to version 4.0.2.
38643440 Reduced the size of Coherence container images.

Federation

Table 4-5 Federation Bugs Fixed and Enhancements

Bug Number Description
40087001 Fixed an issue where federation could become stuck while resuming from the STOPPED state on a cluster member that owns no partitions.
40071524 Fixed an issue where federation could enter the ERROR state when an internal cache request timed out under load. Federation now remains active and retries after a delay.
39792340 Added support in MessageBus for distinguishing peers that advertise the same endpoint, enabling federation between independent clusters that reuse hostnames and listener ports. This feature is currently enabled only for federation connections.
39602396 Added transport backlog, connection, retry/error, replication progress, and interceptor metrics to the built-in federation destination and origin reports, along with service and participant identifiers for easier filtering and diagnosis.
39531288 Federation destination monitoring now reports the number of journal records, cache entries, and serialized journal-record bytes inserted into the local JournalRecord cache for each outbound destination. These counters are exposed as destination MBean attributes, Coherence metrics, and federation destination report columns to help diagnose journal backlog and outbound replication volume before records are sent.
39235738 Fixed an issue in federation where a service context update message could block a SelectionService thread.
39162248 Fixed an issue in federation where a DestinationController worker thread could be abandoned after a remote participant connection timeout. The controller now stays guarded and can continue the existing disconnect/retry recovery flow after slow endpoint resolution or connection timeouts.
39071060 Added a log message and enhanced the federation destination MBean ErrorDescription to include additional diagnostic state when journalcache-highunits is reached or when the Elastic Data journal is full.
39070998 Added originating member information to the federation error description MBean attribute.
38296786 Added the remote participant name and network connection information to key federation log messages where this information was missing.
38187194 Federation now resumes sending data sooner when a destination is recovering from a backlog, instead of waiting for all queued work at the destination to finish. This can improve federation throughput during periods of heavy replication load by reducing repeated pauses in data transfer.
38172539 Added federation destination MBean and management over REST operation disconnect() which disconnects this member from the remote participant and triggers a reconnect.

Management, Metrics, and Tracing

Table 4-6 Management, Metrics, and Tracing Bugs Fixed and Enhancements

Bug Number Description
40109926 Fixed an issue where Coherence Reporter performed redundant MBean queries for wildcard column joins, which could cause slow report execution in environments with many MBeans. Reporter now reuses MBean name resolutions within each report execution to reduce query overhead.
39842031 Fixed an issue where Coherence MicroProfile Metrics cache gauges for front and back tiers used inconsistent tag sets.
39663704 Fixed a startup deadlock between Coherence MP Metrics and Helidon 4 metrics initialization.
39081492 Fixed an issue where the Management over REST cache endpoint could report an inflated cache size for near caches
38884104 Added support for enabling or disabling the health check service and endpoint via the coherence.health.http.enabled system property.
38660649 Fixed an issue where a ClassCastException may be thrown when initializing Coherence Management in some rare scenarios.
38294912 OpenTracing support, deprecated since Coherence 14.1.2, has been removed.

Networking and Coherence*Extend

Table 4-7 Networking and Coherence*Extend Bugs Fixed and Enhancements

Bug Number Description
40088069 Fixed an issue where multiple services sharing an address-provider configuration could interfere with each other’s address selection, causing connection failures.
40061955 Fixed an issue where cluster shutdown could return before the NameService had fully stopped, potentially causing a subsequent cluster startup in the same JVM to use stale configuration.
39968019 Fixed an issue where the Coherence cache configuration schema rejected supported incoming-buffer-pool and outgoing-buffer-pool settings for TCP acceptors.
39955740 Coherence Extend TCP proxies now process independent client connections through connection-affine pipelines instead of serializing all request decoding on a single acceptor thread. Each connection retains strict request ordering, while multiple connections are decoded concurrently, substantially improving proxy throughput and latency under load. Pipeline concurrency is selected automatically based on available processors and can be overridden using the new <connection-pipeline-count> TCP acceptor setting.
39955264 Improved Coherence*Extend client performance by increasing the default TCP initiator input and output stream buffers from 5 bytes to 8 KiB. The larger buffers reduce socket system calls and protocol-framing overhead, improving throughput and CPU efficiency without changing the Extend wire protocol, configuration, or connection behavior. This change adds approximately 16 KiB of heap usage per physical Extend client connection.
39765047 Fixed an issue where Message Bus connections could disconnect or fail to recover when socket migration overlapped with active traffic or simultaneous peer migration.
39634552 Fixed an issue where a SelectionService thread could CPU spin indefinitely in rare cases, potentially causing MessageBus ack timeouts, connection migrations, or service disruption under load.
39042323 Eliminated lock contention on the MessageBus connection during send() operation
38668667 Fixed an issue where a thread for a TLS enabled proxy service may be stuck in a CPU busy loop.

Persistence and Elastic Data

Table 4-8 Persistence and Elastic Data Bugs Fixed and Enhancements

Bug Number Description
39760736 Added FlashJournal observability for write and force operations, congestion, compaction, and journal-file lifecycle activity. The new statistics are available through JMX, Management over REST, Coherence Metrics, and Reporter output.
39272594 A new journal-based persistence engine is available as an alternative to Berkeley DB (BDB) JE. Three configuration modes are supported, ranging from a drop-in BDB replacement to a fully unified backing-map and persistence model that eliminates the double-write penalty of the existing architecture. A JMX MBean and JFR event surface expose extent state, compaction progress, and per-phase recovery timings.
38981329 Fixed an issue where an Elastic Data daemon thread may be terminated by the guardian in some rare circumstances.
38981216 Elevated to ERROR level the log message that indicates that the ElasticData CollecterDaemon has been abnormally terminated. The CollectorDaemon is responsible for deleting files which are no longer being used by Elastic Data's FlashJournal.

Security and Serialization

Table 4-9 Security and Serialization Bugs Fixed and Enhancements

Bug Number Description
40184124 Security hardened mode is now enabled by default. Applications that require compatibility mode can explicitly enable it by setting coherence.security.mode=compatibility.
40033112 Fixed an issue where a request payload rejected during deserialization could cause parsing to continue from an invalid stream position, resulting in stream corruption and cache-service termination. Coherence now stops processing the affected request and returns the original deserialization failure to the caller, preserving cache-service availability.
39345752 Coherence adds a security hardening framework for serialization and remote execution paths. Hardened mode is enabled by default when coherence.security.mode is unset. In hardened mode, Coherence applies stricter validation for remote payloads, dynamic lambdas, POF user types, and remote executable objects. The framework includes generated META-INF/coherence/security-config.xml allowlists, @Remote.Allowed, @Remote.Executable, Maven and Gradle security-config generation, stricter POF type handling, dynamic class and lambda bytecode validation, and route-aware serialization gate telemetry. Applications that require compatibility mode can explicitly enable it by setting coherence.security.mode=compatibility before the first upgraded startup. The coherence.security.mode setting is separate from the existing coherence.mode dev/prod semantics.

Topics

Table 4-10 Topics Bugs Fixed and Enhancements

Bug Number Description
40114150 Fixed an issue where PagedTopic subscribers could stop receiving messages and lose channel allocations after overlapping cluster member restarts. Subscribers now ignore stale channel-allocation notifications and automatically recover pending receive requests after reconnecting.
39945811 Fixed an issue where POF-serialized PagedTopic subscription metadata could grow continuously after repeated subscription updates. The accumulated duplicate data could increase processing and memory usage and eventually cause a StreamCorruptedException during deserialization. Subscription metadata now remains stable across repeated serialization while preserving data written by future versions.
39555883 Fixed an issue where PagedTopic subscriber initialization could time out after 30 seconds even when a longer subscriber timeout was configured. This could cause intermittent failures in topic-backed workflows such as Coherence RAG document ingestion under slower startup or loaded environments.
39327816 Fixed several paged topic subscriber lifecycle races involving channel reassignment, disconnect, close, and ownership loss. These fixes prevent subscribers from resuming at incorrect positions or skipping uncommitted topic messages during subscriber churn.
39255287 Fixed an issue in paged topics where closing a subscriber could hang indefinitely while waiting for subscriber cleanup to complete. Subscriber close now respects the configured close timeout and will no longer block forever if cleanup state does not converge.