Coherence CE v22.06
This is the official Coherence CE v22.06 release.
New Features in 22.06:
- Java Modules Support - You can now run Coherence using Java modules.
- Topics Improvements
- A number of durability and stability improvements have been applied to make topics more stable during fail-over.
- Topics now guarantee at least once delivery, where as in previous releases this was not the case. A subscriber that is part of a group can commit a processed message to indicate that processing is complete and it should not be redelivered on fail-over.
- Subscribers that are part of a subscriber group are now fairly allocated topic channels to subscribe from; only a single subscriber receives messages from an allocated channel.
- Subscribers will be timed-out after a configurable period of inactivity (or failure to heartbeat) causing their channels to be reallocated to remaining subscribers in the same group.
- Added API methods to determine the number of unreceived elements for a
NamedTopic
subscriber or subscriber group.
- Caffeine - Coherence now adds a Caffeine backing map implementation, enabling you to use Caffeine wherever the standard Coherence local cache can be used.
- Cache Configuration Override - Similar to the Coherence Cluster override, you can now specify a cache configuration override to override elements of existing cache configuration with new elements at runtime.
BigDecimal
-related aggregators - These aggregators now support the ability to setBigDecimal
properties such asscale
,roundingMode
,stripTrailingZeros
, andmathContext
(where applicable) for the final result.- Persistent Backups - You can now enable and configure persistent backups which stores backup partitions on a disk, as additional copies of persisted primary one.
- POF Configuration Discovery - It is now possible to make POF configuration files discoverable at runtime by the
ConfigurablePofContext
class instead of needing to put them inside<include>
elements. - Support for
MEMBER_JOINED
andMEMBER_LEFT
events for Extend clients - Extend proxy now sendsMEMBER_JOINED
andMEMBER_LEFT
events to all active services on the proxy when a remote client joins and leaves. This event enables management of a service’s server side resources being retained per remote client. If aMemberListener
is registered on a service and the environment has both remote and cluster member access to a service, theMemberListener
may need to account for remote clientMemberEvent
(s). - SSL Improvements - Various SSL improvements that enable more flexible configuration and allow customizations through extensions. These include using private key and certificate files, using custom keystore, private key and certificate loaders, which can also be refreshable.
Locks
andSemaphores
can now be accessed via Coherence*Extend Java clients.- Health Check API - A new health check API to enable application code to determine the health of the local Coherence member. Management over REST has also been updated to support the health check API.
- New Reports - Executor, View, Storage, and Proxy Connections.
Bugs fixed since Coherence CE 21.12:
COH-25733
Fixed an issue where the cluster service thread may be blocked on a member that is assuming the JMX cluster member role.COH-25703
Fixed an issue with Coherence docker image where the system property,coherence.serializer
, does not take effect when used to specify a default serializer.COH-25653
Added the ability to show the Coherence version without starting a cluster viajava -jar coherence.jar --version
.COH-25615
Fixed an issue where a lock on an invalidated session might not be released, causing other threads waiting on the lock to be stuck indefinitely, when a session is invalidated and replaced by a new one.COH-25611
Changed the logging level to 9 for log messages pertaining to dynamic thread pool sizing.COH-25544
Fixed an issue where anEntryProcessorEvent
EXECUTED
event raised by aninvokeAll
may incorrectly contain an empty entry set.COH-25523
Fixed an issue where skippingnull
String references within a uniform map would raise an exception.COH-25445
Fix for Jackson-Databind CVE-2020-36518.COH-25371
Fixed an issue where cluster-quorum-policy attributes could not be overridden with a system-property.COH-25350
Fixed an issue where aMessageBus
connection with heartbeats enabled may throw anOutOfMemoryError
when reestablishing a dropped connection.COH-25343
Added a REST endpoint to theClusterMemberResource
to return the response of thereportEnvironment
MBean operation of theClusterNodeMBean
, providing details about the Java environment and system properties.COH-25318
Added system propertycoherence.discovery.address
for providing the discovery address.COH-25309
Fixed an issue where thehigh-units
setting for atransactional-scheme
was being ignored.COH-25261
Fixed an issue that would incorrectly close the extend client channel upon service exit leading to an error being raised about theNamedCache
being explicitly destroyed.COH-25103
Fixed an issue where aStackOverflowError
could occur when skippingnull
String references of a uniform collection during POF deserialization.COH-25065
Fixed an issue where aPartitionedCache
service could be terminated due to an unhandledNullPointerException
inInflatableMap
.COH-25061
Fixed an issue where the CoherenceJsonSerializer
could not serialize a String made up of a single back-slash.COH-25056
Fixed an issue where a SEGV core dump could occur innio.DirectByteBuffer
operations when releasing anAsyncBinaryStore
backed by an external file.COH-25049
Updated the Netty dependency version to 4.1.77.Final.COH-24993
Fixed an issue in topics where seeking to the tail for a subscriber did not actually move the subscriber's position.COH-24968
Fixed an issue where an *Extend client may incorrectly treat a cache as being explicitly destroyed in some rare scenarios.COH-24945
Fixed an issue inNamedTopic
Subscriber where aLockContentionException
could be thrown when many subscribers are being created and polling for messages at the same time.COH-24941
Fixed an issue whereXmlHelper.overrideElement()
may not maintain the order of elements in the resulting XML configuration.COH-24927
AddedCacheEvent.isExpired()
. OnENTRY_DELETED
,isExpired()
will return true if the entry was evicted due to expiry.COH-24891
AddedServiceMBean
attributeStatusHACode
for metrics support.COH-24890
Added the ability to specify a domain name suffix for Coherence MBeans by setting thecoherence.management-config.domain-name-suffix
in the operational override configuration.COH-24823
Fixed an issue where the Coherence Reporter proxy reports do not account for members joining and leaving the cluster.COH-24799
Removed the shaded MVEL2 library from coherence-rest.jar and switched to using built in Coherence classes for Coherence REST query processing. MVEL can still be used for query processing if desired by adding the library (mvel2.jar
) to the class path.COH-24796
Fixed an issue where Management over REST queries could fail if non-Coherence MBeans exist with the same type field in theObjectName
, for example "type=Service
".COH-24773
Fixed an issue inNamedTopic
Subscriber where theCompletableFuture
returned from calls toSubscriber.receieve()
could fail to complete on an empty topic when the Subscriber was created with theCompleteOnEmpty
option was enabled.COH-24741
Allow custom namespace handlers to be used in the operational configuration file.COH-24722
Added support for using a password provider for the keystore password in theAccessController
.COH-24721
Fixed an issue withAccessController
wherekeystores
which support read access without a password could no longer be used without a password.COH-24697
Corrected theoperationId
in the Management over REST Swagger documentation for the service stop operation.COH-24694
Fixed an issue whereNotSerializableException
may be thrown when usinginvokeAll()
on a partitioned cache with persistence configured in active mode.COH-24665
Corrected the default value returned by theClusterNodeMBean
'stracingSamplingRatio
when tracing dependencies aren't present on the class path.COH-24584
Updated the Management over REST Swagger documentation to call out certain features that are only available in Grid Edition.COH-24503
AddedViewMBean
to show information about a view cache.COH-24468
Fixed an issue where aPartitionedCache
service may terminate due to an unhandledClassCastException
inPartitionedService$PartitionRecoverRequest$Poll.onResponse
.COH-24463
Added support for specifying a comma-separated list of addresses in address elements, such as for WKA, in Coherence configuration files.COH-24428
Enhanced Coherence REST server logging to assist development time debugging by logging handled exceptions for a REST HTTP Response ofBAD_REQUEST
(status 400) at log level 6 or higher.COH-24214
Removed identity token deserialization inNameService
TcpAcceptor
processing.COH-23401
CVE-2022-21420 Added JEP 290 support forExternalizableLite
.COH-23345
Improved cache operations to use an interruptible lock so that operations can be interrupted after the specified timeout.COH-22085
AddedreportEnvironment
operation to theClusterNode
MBean to provide details about the Java environment and system properties.