Skip to content

Releases: oracle/coherence

Coherence CE v22.06.1

20 Jul 14:16
Compare
Choose a tag to compare

This is patch 1 of the Coherence CE v22.06 release.

Bugs fixed since Coherence CE 22.06

  • COH-25961 Fixed an issue where ScriptAggregator, ScriptFilter and ScriptProcessor could not be serialized using JSON.
  • COH-25928 Fixed an issue where Extend client MEMBER_LEFT and MEMBER_JOINED events could be sent to cluster members running an older incompatible Coherence version.
  • COH-25906 Removed support for Log4j version 1.x.
  • COH-25884 Fixed an issue where a Coherence LifecycleListener discovered using the ServiceLoader can be registered twice and hence receive events multiple times.
  • COH-25863 Fixed a rare issue where a Coherence cache server may be inadvertently restarted when attempting to do an asynchronous shutdown of a registered executor.
  • COH-25840 Fixed an issue with persistent backups where a deadlock situation may occur during partition re-distribution.
  • COH-25830 Fixed an issue where TcpRing.close.keys() may throw an unhandled ClosedSelectorException which can cause the Cluster service to terminate unexpectedly.
  • COH-25821 Fixed an issue with the executor service where task properties could be set after a task had completed.
  • COH-25637 CVE-2022-21570

Coherence CE v14.1.1.0.10

19 Jul 20:24
Compare
Choose a tag to compare

This is patch 10 of the Coherence CE v14.1.1 release.

Bugs fixed since Coherence CE 14.1.1.0.9

  • COH-25637 CVE-2022-21570
  • COH-25611 Changed the logging level to 9 for log messages pertaining to dynamic thread pool sizing.
  • COH-25523 Fixed an issue where skipping null 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 a MessageBus connection with heartbeats enabled may throw an OutOfMemoryError when reestablishing a dropped connection.
  • COH-25318 Added system property coherence.discovery.address for providing the discovery address.
  • COH-25311 Fixed an issue where the underlying exception is not properly logged when the SimpleServiceMonitor fails to restart services.
  • COH-25263 Added a new report (reports/report-cache-storage.xml) for StorageManager MBean attributes.
  • COH-25261 Fixed an issue that would incorrectly close the Extend client channel upon service exit leading to an error being raised about the NamedCache being explicitly destroyed.
  • COH-25238 Added a new report (reports/report-proxy-connections.xml) for Coherence*Extend connection information.
  • COH-25065 Fixed an issue where a PartitionedCache service could be terminated due to an unhandled NullPointerException in InflatableMap.

Coherence CE v22.06

01 Jul 12:37
Compare
Choose a tag to compare

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 set BigDecimal properties such as scale, roundingMode, stripTrailingZeros, and mathContext (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 and MEMBER_LEFT events for Extend clients - Extend proxy now sends MEMBER_JOINED and MEMBER_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 a MemberListener is registered on a service and the environment has both remote and cluster member access to a service, the MemberListener may need to account for remote client MemberEvent(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 and Semaphores 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 via java -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 an EntryProcessorEvent EXECUTED event raised by an invokeAll may incorrectly contain an empty entry set.
  • COH-25523 Fixed an issue where skipping null 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 a MessageBus connection with heartbeats enabled may throw an OutOfMemoryError when reestablishing a dropped connection.
  • COH-25343 Added a REST endpoint to the ClusterMemberResource to return the response of the reportEnvironment MBean operation of the ClusterNodeMBean, providing details about the Java environment and system properties.
  • COH-25318 Added system property coherence.discovery.address for providing the discovery address.
  • COH-25309 Fixed an issue where the high-units setting for a transactional-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 the NamedCache being explicitly destroyed.
  • COH-25103 Fixed an issue where a StackOverflowError could occur when skipping null String references of a uniform collection during POF deserialization.
  • COH-25065 Fixed an issue where a PartitionedCache service could be terminated due to an unhandled NullPointerException in InflatableMap.
  • COH-25061 Fixed an issue where the Coherence JsonSerializer could not serialize a String made up of a single back-slash.
  • COH-25056 Fixed an issue where a SEGV core dump could occur in nio.DirectByteBuffer operations when releasing an AsyncBinaryStore 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 in NamedTopic Subscriber where a LockContentionException could be thrown when many subscribers are being created and polling for messages at the same time.
  • COH-24941 Fixed an issue where XmlHelper.overrideElement() may not maintain the order of elements in the resulting XML configuration.
  • COH-24927 Added CacheEvent.isExpired(). On ENTRY_DELETED, isExpired() will return true if the entry was evicted due to expiry.
  • COH-24891 Added ServiceMBean attribute StatusHACode for metrics support.
  • COH-24890 Added the ability to specify a domain name suffix for Coherence MBeans by setting the coherence.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 the ObjectName, for example "type=Service".
  • COH-24773 Fixed an issue in NamedTopic Subscriber where the CompletableFuture returned from calls to Subscriber.receieve() could fail to complete on an empty topic when the Subscriber was created with the CompleteOnEmpty 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 the AccessController.
  • COH-24721 Fixed an issue with AccessController where keystores which support read access without a password could no longer be used without a password.
  • COH-24697 Corrected the operationId in the Management over REST Swagger documen...
Read more

Coherence CE v21.12.4

21 Apr 17:48
Compare
Choose a tag to compare

This is Patch 4 of the Coherence CE v21.12 release.

Bugs fixed since Coherence CE 21.12.3:

  • Fixed an issue where cluster-quorum-policy attributes could not be overridden with a system-property.
  • Fixed an issue where a MessageBus connection with heartbeats enabled may throw an OutOfMemoryError when reestablishing a dropped connection.
  • Added the default system property, coherence.discovery.address, to allow user to provide the discovery address.
  • Added a new report, reports/report-cache-storage.xml, to report on StorageManager MBean
  • Fixed an issue that would incorrectly close the Extend client channel upon service exit leading to an error being raised about the NamedCache being explicitly destroyed. As this could be a transitory issue, there is no need to terminate the channel.
  • Added a new report, reports/report-proxy-connections.xml, to display Coherence*Extend connection information
  • Fixed an issue where a StackOverflowError could occur when skipping null String references of a uniform collection during POF deserialization.
  • Fixed an issue where an Extend client may incorrectly treat a cache as being explicitly destroyed in some rare scenarios.
  • Added CacheEvent.isExpired(). On ENTRY_DELETED, isExpired() will return true if the entry was evicted due to expiry.
  • 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 classpath.
  • Removed identity token deserialization in NameService TcpAcceptor processing.
  • Added JEP 290 support for ExternalizableLite.

Coherence CE v14.1.1.0.9

20 Apr 19:06
Compare
Choose a tag to compare

This is patch 9 of the Coherence CE v14.1.1 release.

Bugs fixed since Coherence CE 14.1.1.0.8

  • Fixed an issue where a StackOverflowError could occur when skipping null String references of a uniform collection during POF deserialization.
  • Fixed an issue where XmlHelper.overrideElement() may not maintain the order of elements in the resulting XML configuration.
  • Added CacheEvent.isExpired(). On ENTRY_DELETED, isExpired() will return true if the entry was evicted due to expiry.
  • Added ServiceMBean attribute StatusHACode for metrics support.
  • Added the ability to specify a domain name suffix for Coherence MBeans by setting the coherence.management-config.domain-name-suffix in the operational override configuration.
  • Fixed an issue where the Coherence Reporter proxy reports do not account for members joining and leaving the cluster.
  • 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 classpath.
  • Fixed an issue where Management over REST queries could fail if non-Coherence MBeans exist with the same type field in the ObjectName, for example "type=Service".
  • Added support for using a password provider for the keystore password in AccessController.
  • Fixed an issue with AccessController where keystores which support read access without a password could no longer be used without a password.
  • Corrected the operationId in the Management over REST Swagger documentation for the service stop operation.
  • Fixed an issue where NotSerializableException may be thrown when using invokeAll() on a partitioned cache with persistence configured in active mode.
  • Corrected the default value returned by the ClusterNodeMBean's tracingSamplingRatio when tracing dependencies aren't present on the class path.
  • Removed the optional Log4j and SLF4J dependences from the Coherence pom file.
  • Fixed an issue where a SEGV core dump could occur in nio.DirectByteBuffer operations when releasing an AsyncBinaryStore backed by an external file.
  • Updated the Management over REST Swagger documentation to call out certain features that are only available in Grid Edition.
  • Updated the Netty dependency version to 4.1.73.
  • Enhanced Coherence REST server logging to assist development time debugging by logging handled exceptions for a REST HTTP Response of BAD_REQUEST (status 400) at log level 6 or higher.
  • Removed identity token deserialization in NameService TcpAcceptor processing.
  • Added JEP 290 support for ExternalizableLite.

Coherence CE v21.12.3

08 Mar 01:49
Compare
Choose a tag to compare

This is Patch 3 of the Coherence CE v21.12 release.

Bugs fixed since Coherence CE 21.12.2:

  • Fixed an issue where NotSerializableException may be thrown when using invokeAll() on a partitioned cache with persistence configured in active mode.
  • Fixed an issue where XmlHelper.overrideElement() may not maintain the order of elements in the resulting XML configuration.
  • Fixed an issue in the NamedTopic subscriber where a LockContentionException could be thrown when many subscribers are being created and polling for messages at the same time.
  • Fixed an issue in topics where seeking to the tail for a subscriber did not actually move the subscriber’s position.
  • Added ability to specify a descriptive MBean domain name suffix to replace the generated domain name Coherence@NNN when a domain name conflict is detected due to multiple clusters running in same JVM. Configure managment-config.domain-name-suffix to replace the generated number component suffix, NNN.
  • Fixed an issue where the Coherence JsonSerializer could not serialize a String made up of a single backslash.
  • Fixed an issue where the Coherence Reporter’s proxy reports do not account for members joining and leaving the cluster.
  • Updated the Netty dependency version to 4.1.73.

Coherence CE v21.12.2

04 Feb 03:31
Compare
Choose a tag to compare

This is Patch 2 of the Coherence CE v21.12 release.

Bugs fixed since Coherence CE 21.12.1:

  • Enhanced Coherence REST server logging to assist development time debugging, log handled exceptions for REST HTTP Response of BAD_REQUEST (status 400) at log level 6 or higher.
  • Added ServiceMBean attribute StatusHACode for metrics support.
  • Fixed an issue where the XmlHelper.overrideElement() may not maintain the order of elements in the result XML configuration.
  • Fixed an issue where closing a topic subscriber caused a NotSerializableException on the storage enabled cluster members.

Coherence CE v21.12.1

19 Jan 22:13
Compare
Choose a tag to compare

This is Patch 1 of the Coherence CE v21.12 release.

New Features in 21.12.1:

  • Added support for using a password provider for the keystore password in the AccessController.
  • Added API methods to determine the number of unreceived elements for a NamedTopic subscriber or subscriber group.

Bugs fixed since Coherence CE 21.12:

  • Fixed an issue with AccessController where keystores which support read access without a password could no longer be used without a password.
  • Removed the optional Log4J and SLF4J dependencies from the Coherence POM file.
  • Fixed an issue where topic subscribers failed to be cleaned up causing channels to fail to be reallocated to remaining subscribers.
  • Fixed an issue where deadlock occurs if a topic and one or more of its publishers are closed by different threads at the same time.
  • Fixed an issue where a NullPointerException may be thrown when a topic attempts to clean up subscriber notifications for a non-existent page.
  • Updated the management Swagger to call out certain features that are available when using Grid Edition only.
  • Fixed an issue in topic Subscriber where the CompletableFuture returned from calls to Subscriber.receieve() could fail to complete on an empty topic when the Subscriber was created with the CompleteOnEmpty option enabled.
  • Fixed an issue where the operationId in the management Swagger document was incorrect for the stop service operation.

Coherence CE v14.1.1.0.8

19 Jan 16:03
Compare
Choose a tag to compare

This is patch 8 of the Coherence CE v14.1.1 release.

Bugs fixed since Coherence CE 14.1.1.0.7:

  • Fixed an issue in Management over REST swagger documentation where the operationId was incorrect for the start federation operation.
  • Fixed an issue where a service could be terminated during partition recovery due to guardian timeout.
  • Improved versioning logic to handle future commercial product versioning schemes.
  • Fixed an issue where service names and other path elements were not being validated in Management over REST endpoints.
  • Fixed an issue where a client side memory leak may occur when many TopicPublishers are created and closed with option FailOnFull.enabled().
  • Fixed an issue where setting discovery-address in multicast mode did not have any effect. The specified address will now be used as the discovery endpoint. If a discovery-address is not specified, by default the discovery endpoint will bind to all interfaces on a multi-homed machine.
  • Fixed an issue where a null was returned in a JFR status message instead of the actual member id.
  • Added the ability to register lifecycle listeners with DefaultCacheServer instances, either via the DefaultCacheServer API, or via discovery using the Java ServiceLoader.
  • Fixed a regression in PortableException when Java serialisation introduced in 12.2.1.4.5 and 14.1.1.0.1 that made it incompatible with earlier Coherence versions. Applications using POF are not affected by this change or this bug.
  • Fixed an issue where requests could hang indefinitely due to a failed partition recovery.
  • Fixed an issue where UnitsBytes could be negative when unit factor was greater than one.
  • Updated MVEL version to 2.4.12.Final.
  • Bumped the version for JLine dependencies and included JLine jar files.
  • Fixed an issue where a distributed service could release an unowned partition leading to IllegalStateException.
  • Fixed an issue where a service could hang indefinitely on updateIndex waiting for pending storage version to commit.
  • Fixed an issue where CohQL could return incorrect results when compound conditions are used with parenthesis on the first part of the query statement.
  • Improved startup times in OSs that exhibit slow times in deriving the network interface associated to an IP address.

Coherence CE v21.12

14 Dec 16:28
Compare
Choose a tag to compare

This is the official Coherence CE v21.12 release including the following new features.

New Features in 21.12:

  • Distributed Concurrent Data Structures
    • Distributed implementations of java.util.concurrent primitives, such as atomics, locks, latches and semaphores.
    • An ExecutorService implementation allowing guaranteed remote task execution.
  • Backup Improvements
    • Allow the redundant copies to be used for reads (get/getAll) with the option of choosing primary, closest, a random backup up, or provide your own implementation.
    • Reduce the cost of asynchronous backups, thus improving write throughput, by scheduling the changes to be sent to redundant copies periodically.

Bugs fixed since Coherence CE 21.06:

  • Fixed an issue where a service could be terminated during partition recovery due to guardian timeout.
  • Fixed an issue where service names and other path elements were not being validated in Management over REST endpoints
  • Fixed an issue where a client side memory leak may occur when many TopicPublishers are created and closed with option FailOnFull.enabled().
  • Fixed an issue where setting discovery-address in multicast mode did not have any effect. The specified address will now be used as the discovery endpoint. If a discovery-address is not specified, by default the discovery endpoint will bind to all interfaces on a multi-homed machine.
  • Fixed an issue where a null was returned in a JFR status message instead of the actual member ID.
  • Fixed a regression in PortableException when Java serialization introduced in 12.2.1.4.5 and 14.1.1.0.1 that made it incompatible with earlier Coherence versions. Applications using POF are not affected by this change or this bug.
  • Improved the removal of topic group subscribers created by departed cluster members, by making it more aggressive and hence speeding up reallocation of channels to the remaining subscribers.
  • Fixed an issue where topic subscribers could cause a deadlock when processing non-empty channel notifications.
  • Fixed an issue where member departure caused all topic subscribers on storage disabled members to be disconnected instead of just cleaning up departed subscribers.
  • Fixed an issue where topic subscribers could create a deadlock when reconnecting after loss of storage members, causing the service guardian to terminate the service .
  • Fixed an issue where requests could hang indefinitely due to a failed partition recovery.
  • Fixed an issue where UnitsBytes could be negative when unit factor was greater than one.
  • Bumped the version for JLine dependencies and included JLine jar files.
  • Fixed an issue where a distributed service could release an unowned partition leading to IllegalStateException.
  • Enhanced the Coherence.start() method, released as part of the Bootstrap API in CE version 20.12, to return a CompletableFuture<Coherence> instead of a CompletableFuture<Void>. This allows a more fluent API when using static factory methods to create and start a Coherence instance. This is a breaking change in applications that specifically assign the result of calls to Coherence.start() to a CompletableFuture<Void> variable.
  • Fixed an issue where a service could hang indefinitely on updateIndex waiting for pending storage version to commit.
  • Fixed an issue where CohQL could return incorrect results when compound conditions are used with parenthesis on the first part of the query statement.
  • Fixed an issue where stream collect on NamedCache collections (keySet, values, entrySet) throws UnsupportedOperationException.
  • Fixed a NullPointerException that occurred when generating a log message after failing to start management over REST, which resulted in the misleading, and non-helpful, error log message: "Failure to initialize JMX remote management caused by: NullPointerException".
  • Fixed an issue where expired entries are not evicted for ReadWriteBackingMap.
  • Fixed an issue that class ConverterComparator is serializable, which is not required.
  • Fixed a memory leak that occurred when creating and releasing Topic Publishers and Subscribers
  • Fixed an issue in management over REST where the services list returns an HTTP 500 error when the cluster has no services.
  • Fixed an issue where NullPointerException could occur in the index rebuild thread during failover, and lead to worker threads hanging waiting for index ready.
  • Added cache configuration element cache-values which allows a view-scheme to be configured to cache both keys and values (the default), or only keys.
  • Fixed an issue where a topic subscriber with only a single channel allocated will not stop polling even when the channel is empty.
  • Added example showing how to monitor StatusHA for rolling redeploys
  • Fixed an issue where the Java gRPC client will hang when getting caches if no connection to the server can be made.
  • Fixed an issue with cluster start up when a unicast-listener/discovery-address is specified in multicast mode.
  • Fixed an issue where if an initial event is not received for a partition DurableEvents will miss events that occurred while being disconnected.
  • Fixed an issue in persistence to ensure errors are caught in a rare and unexpected part of the recovery protocol.
  • Fixed an issue where the partitioned cache service thread could hit the guardian timeout while processing deferred events during partition recovery or failover.
  • Fixed an issue where CohQL persistence commands may throw an IllegalArgumentException.
  • Improved startup times in OSs that exhibit slow times in deriving the network interface associated to an IP address.
  • Improved the partition transfer process to work more efficiently while the service is under heavy load.
  • CVE-2021-2344 Fixed an issue where Java array deserialization may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
  • CVE-2021-2371 Fixed an issue where Java array deserialization using ExternalizableHelper may be used for a denial of service attack using malicious bytecode sent via WLS T3 and IIOP protocols.
  • Fixed an issue where cluster join may automatically fallback to multicast if all of the configured WKA addresses are unresolvable.
  • Added ILIKE operator to CohQL; the case-insensitive equivalent of LIKE
  • CVE-2021-2428 Fixed Java serialization of the Coherence JCache CoherenceEntryProcessorResult class to prevent unintended usage of this class.
  • Fixed an issue with serializing classes annotated with PortableType that have not specified an ID.
  • Enhanced Coherence metrics to allow metric names to be published without a vendor: prefix. Removing the vendor: prefix is controlled by setting the system property coherence.metrics.legacy.names=false
  • Moved Coherence metrics functionality into coherence.jar, removing the requirement to use coherence-metrics.jar and removing the requirement for additional third-party dependencies when enabling Coherence metrics. 
  • Enhanced CohQL to handle the case where value() is used in where clauses.
  • Fixed a thread safety issue that can disrupt a joining member from joining the service in very rare cases.
  • Fixed an issue when there are multiple cache factories in a JVM, the cache factory created the proxy service may not be the one used by it, resulting in error finding the caches.
  • Fixed an issue where CacheStore.eraseAll() had no path to be called on NamedCache bulk operations such as invokeAll(). With this fix, CacheStore.eraseAll() is called when NamedCache.invokeAll() is invoked with a "remove" processor or when NamedCache.keySet().removeAll() or NamedCache.entrySet().removeAll() are called.
  • Reduced CPU utilization in sending backup messages
  • Bumped the version of Jetty dependency to 9.4.43.v20210629.
  • Fixed an issue where changing the Coherence log level using the Node Mbean had no effect.