Repository navigation
Coherence CE v26.07
This is the Coherence CE v26.07 release.
Requirements:
- Java 17 or higher
- Some features will work only on Java 21 or higher
Major New Features in Coherence CE v26.07
-
Unified Persistence
Unified Persistence is a new journal-based persistence engine purpose-built for Coherence. Mutations are appended to per-partition journals, reads use an in-memory radix index for direct access, and recovery loads checkpoints before replaying only newer journal entries. Immutable journal files can be hard-linked into snapshots, making snapshot creation nearly instantaneous on supported file systems. Unified Persistence can replace Berkeley DB behind an existing backing map, serve as the primary backing map through<journal-scheme>, or provide journal-backed backup storage. -
Virtual Daemon Pool
The Virtual Daemon Pool is an opt-in service worker pool for Java 21 and later that runs tasks on virtual threads. Blocking work releases its carrier thread so unrelated work can continue, while mutating operations for the same key are routed through a lightweight per-key mailbox to preserve ordering without tying up the worker pool. The platform-thread pool remains the default. Virtual threads can be enabled per service with<daemon-pool>virtual</daemon-pool>, with optional admission limits for controlling concurrency and downstream pressure. -
Daemon Pool Dynamic Resizing
Coherence platform-thread DaemonPools dynamically resize by monitoring throughput, utilization, queue pressure, and worker CPU activity. Pools react quickly to bursts, shrink gradually as demand subsides, and remain within configured limits. When no maximum is configured, Coherence derives a safe process-wide worker budget from available processors and memory. For blocking or I/O-bound workloads, the pool can probe beyond the processor count and retain additional workers only when they improve measured throughput, rolling back ineffective growth automatically. -
Serialization Hardening
Serialization Hardening adds a common security model across Java serialization, POF,ExternalizableLite, dynamic class and lambda loading, and remote executable objects. Applications can generate and packagesecurity-config.xmlallowlists from@Remote.Allowedand@PortableTypeannotations using the Coherence Maven or Gradle plugin. Coherence applies the same allowlist across supported serialization paths, integrates with JEP 290, and provides telemetry to identify application classes that need migration. Compatibility mode remains the default; applications can opt in with-Dcoherence.security.mode=hardenedafter validating their configuration.
Dependency Updates (3rd-party)
| Dependency | Updated to |
|---|---|
| ASM | 9.10.1 |
| Jackson | 2.21.5 |
| JLine | 3.30.16 |
| Netty | 4.1.136.Final |
| OpenTelemetry | 1.64.0 |
Other New features in Coherence CE v26.07
- Security fixes and enhancements
COH-33808Coherence Extend TCP proxies now process independent client connections through connection-affine pipelines instead of serializing all request decoding on one acceptor thread. Each connection retains strict wire ordering, while multiple connections can be decoded concurrently, substantially increasing proxy throughput and reducing latency under load. The pipeline count scales automatically with available processors and measured demand and can be controlled with the new<pipeline-count>TCP acceptor setting.COH-33807Platform DaemonPools now adapt concurrency to workload behavior. CPU-bound services remain near the effective processor count, while blocking and I/O-bound services can grow beyond that point when measured throughput demonstrates a benefit. The policy automatically rolls back ineffective growth, improving throughput and latency under blocking load without adding unnecessary workers to CPU-bound workloads.COH-33801Improved Java Extend client throughput and CPU efficiency by increasing the default initiator input and output stream buffers from 5 bytes to 8 KiB. This change requires no configuration or wire-protocol changes.COH-33483Coherence adds an opt-in security hardening framework for serialization and remote execution paths. When enabled with coherence.security.mode=hardened, Coherence applies stricter validation for remote payloads, dynamic lambdas, POF user types, and remote executable objects. The framework includes generatedMETA-INF/coherence/security-config.xmlallowlists,@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. By default,coherence.security.modeis unset and Coherence preserves existing compatibility behavior, including existingcoherence.modedev/prodsemantics, to support patching and rolling upgrades without configuration changes.COH-33284Added an optional virtual-thread-based DaemonPool execution model for Java 21 and later. It preserves keyed dispatch and Coherence request-processing semantics while allowing blocking workloads to scale efficiently. It can be selected per service with<daemon-pool>virtual</daemon-pool>and observed through service management metrics.COH-28116Eliminated lock contention on the MessageBus connection duringsend()operations.
Bugs fixed since Coherence CE v26.04
COH-33788Fixed an issue whereSimpleMapIndexfootprint accounting could overcount or undercount memory after index-entry churn, causing the reported footprint to diverge from the actual index contents over long runtimes.COH-33745Fixed an issue where Coherence MicroProfile Metrics cache gauges for front and back tiers used inconsistent tag sets.COH-33724Fixed 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.COH-33616Fixed an issue where JMX connections using IIOP/IIOPS or T3/T3S NameService URLs could fail to resolve and connect correctly.COH-33597Fixed an issue where MessageBus connections could disconnect or fail to recover when socket migration overlapped with active traffic or simultaneous peer migration.COH-33573Fixed a startup deadlock between Coherence MP Metrics and Helidon 4 metrics initialization.COH-33568Fixed 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.COH-33566Fixed an issue where a SelectionService thread could CPU spin indefinitely in rare cases, potentially causing MessageBus acknowledgement timeouts, connection migrations, or service disruption under load.COH-33551Fixed 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.COH-33550Fixed an issue where write-behind removes could cause the reported cache size to become negative.COH-28074Fixed a performance regression affecting partitioned queries that return small or no results. Coherence now bounds partition-streamed query and aggregation execution and adaptively selects member- or partition-level granularity, reducing message-processing overhead while retaining scalability for large results.
Full Changelog
Full Changelog: 26.04...26.07