Coherence CE 24.03 is now compatible with both Helidon 3.x and Helidon 4.x.
COH-29737 Improved deserialization performance of very large byte arrays (> 100MB)
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.
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.
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.
COH-28810 Added a message to stdout which prints the Coherence logging configuration when the Coherence logger is set to level 6 or higher.
COH-28809 Reduced the frequency of the messages displayed (to once every 60 seconds) when the BinaryMemoryCalculator cannot calculate the index size.
COH-28726 An internal ForkJoinPool is now used to run queries in parallel across all owned partitions.
COH-28725 Improved the Coherence Gradle Plugin POF instrumentation support for multi-module Gradle builds.
COH-28615 The distributed executor service will now distribute tasks to executors in a round-robin fashion.
COH-28601 Integrated support for OpenTelemetry. See the documentation for further details.
COH-28572 Re-enabled the Coherence Gradle Plugin, upgraded to Gradle 8.4 and provided Java 21 support.
COH-28552 Improved the filter reordering logic for composite filters.
COH-28550 Improved performance of filter-based aggregators by leveraging partitioned index.
COH-28549 Improved performance of filter-based entry processors by leveraging partitioned index.
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.
COH-28314 Added the ability to insert JSON data via CohQL.
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.
COH-27990 Added the ClearCount attribute to the StorageManager MBean which shows how many times clear() has been called on a cache.
COH-27952 Enhanced the Gradle plugin to provide incremental build support for POF classes.
COH-27105 Added the reportPartitionStats operation to the StorageManager MBean to report cache partition sizes for a cache.
COH-25882 Added getClusterDescription, getServiceDescription and getNodeDescription operations to the Cluster, Service and ClusterNode MBeans to retrieve details about a cluster, service and member.
COH-25729 Added write-behind support for cache store erase() and eraseAll() operations.
COH-24445 Added cache backed implementations of java.utilQueue and Deque and java.util.concurrentBlockingQueue and BlockingDeque.
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.
This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.4.0 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
[!CAUTION]
Starting with this release of Hazelcast Platform, the minimum supported Java version is 17.
New Features
EnterpriseUser Code Namespaces: Enable deployment and redeployment of your custom classes. See the User Code Namespaces documentation.
EnterpriseCPMap: Added CPMap as a minimal key-value CP data structure. See CPMap documentation. #25802
EnterpriseThread-Per-Core (TPC): TPC is now generally available. You can enable this feature on the clients and cluster members for improved performance. See the Thread-Per-Core (TPC) documentation.
Breaking Changes
The MergingValue interface within the SPI package now requires the getDeserializedValue() method to be defined within implementations, replacing the getValue() definition. #25942
Moved the MongoDB connector to the extensions module, that is, its classes and related dependencies relocated;
if you are using Maven to install the connector, you must add <classifier>jar-with-dependencies</classifier> to your pom.xml. Also removed the permissions for MongoDB connector. #25744, #25701
Method names used as parameters in SecurityInterceptor checks were reviewed and unified into a single place - class com.hazelcast.security.SecurityInterceptorConstants. Some client messages have the method name changed to reflect their purpose better. Some client messages are newly covered by SecurityInterceptor checks now. #25020
Renamed the service port for Hazelcast clusters deployed in Kubernetes environments to hazelcast.
The previous name, hazelcast-service-port, caused member auto-discovery for embedded deployments to fail. #24834, #24705, #24688
Fixed an issue where Hazelcast was not failing fast when a member is started with a blank public address. This has been fixed by introducing a configuration validation that might break any existing, but invalid, configuration. #24729
Enhancements
SQL/Jet Engine
Removed the beta annotations from the data connection classes. #26000
Replaced the user-defined types (UDTs) feature flag with the cyclic UDT feature flag, to prevent querying such type data. #25977
Added support for loading and storing a single column as the value using the GenericMapStore. #25878
Each Jet engine job was creating a client for connecting to the remote cluster, resulting in an excessive number of clients. This has been fixed by introducing a single data connection, which can be reused for all job instances. #25754, #25731
Added support for resolving fields from Avro schemas in Kafka mappings. #25935
Changed the exception type from CancellationException to CancellationByUserException when the user cancels a job before it is initialized. #25383
Added nested field support for Avro serialization format. #25269
Removed the redundant sort and merge operations in sorted index scans, for the computations where the index order is not needed, for example, aggregations. #25180
Updated the data comparator to improve the performance of sorted index operations. #25196
Added support for partition pruning for the __key filters. #25105
Added support for partitioned edges in Jet engine's partition pruning. #25062
Added a new mechanism to compute the required partitions to be scanned, if attribute partitioning strategy is applied. #25006
Added the condition type to the EXPLAIN PLAN statement outputs for all physical joins. #24899
Added support for nullable types when reading Avro files. #24840
Added the ability to pass parameters for JDBC configuration, such as the fetch size for large tables. #24835
Added support for partition pruning for SQL queries that have trivial filter predicates. #24813
Reflected the change of javax.jms to jakarta.jms in Hazelcast distributions. #24804
Added support for member pruning for Platform jobs to optimize a job's performance by picking up only the members required for the job. #24689
Added the stream() method to the SQL service to return the stream of result rows. #24525
Introduced a new configuration object to control the exact initial partition offsets when consuming records from Kafka via the Jet engine. #21546
Aligned the behavior of hashCode() method of KeyedWindowResult with that of Map.Entry. #697
Boxing of partitionId is now avoided in the getPartitionAssignment() method when the partition pruning is not used. #486
Added the ability to limit the creation of objects through reflection. #296
Added the ability to use reusable processor meta supplier for forceTotalParallelismOne () on random members without permissions. #227
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the gradle-dependencies group with 4 updates: com.gradle.develocity, com.oracle.coherence.ce:coherence, com.google.inject:guice and com.hazelcast:hazelcast.
Updates
com.gradle.develocity
from 3.17.4 to 3.17.5Updates
com.oracle.coherence.ce:coherence
from 22.06.2 to 24.03Release notes
Sourced from com.oracle.coherence.ce:coherence's releases.
... (truncated)
Commits
b4c1834
release: update poms to version 24.033683962
Bug 36426729 - [36426181->24.03] Update the default value of 100 for coherenc...acaba5c
Minor Queue change4f6ea0f
Bug 36409014 - Build: Intermittent failure in queues.GrpcClientDequeTests.sho...cc9acb2
Enh 35900901 - [35884452->24.03] Improve filter re-ordering algorithm for com...a53bb05
Bug 36405782 - Build: *RemoteCountDownLatchIT -> shouldAcquireAndCountDownWit...501157e
Enh 35900901 - [35884452->24.03] Improve filter re-ordering algorithm for com...5150be3
Enh 36420686 - [36420651->24.03] Improve deserialization performance of very ...4651fee
Fix template check error for not containg reference to Contributing (ce/main ...c3f7e77
Queue changes for non-Java clients using JSONUpdates
com.google.inject:guice
from 6.0.0 to 7.0.0Release notes
Sourced from com.google.inject:guice's releases.
Commits
b0e1d0f
set 7.0.0 release #s.f4a66b7
Make error_prone_annotations dependency optional654032a
Internal change.bee813b
Improve MissingImplementationError to lazily calculate suggestions and standa...2d64067
Use linked bindings for MapBinder/Multibinder/OptionalBinder aliases, instead...be0141c
Internal change40a5bcf
Avoid re-initializing factories that are already initialized. This is necessa...9ac4767
Change the way we reference what 6.0 supports in the README, so it doesn't ge...24324ca
Prepare for the Guice 6.0 & 7.0 releases. This change does the following:49b1a33
Remove redundant references to javax.{inject,persistence,servlet} and replace...Updates
com.hazelcast:hazelcast
from 5.3.7 to 5.4.0Release notes
Sourced from com.hazelcast:hazelcast's releases.
... (truncated)
Commits
3175d2c
Upgrade version to 5.4.07f4448b
Adding RN for 5.4.0 OS RN (#1084)a76e44f
Remove todo from javadoc [5.4.0] (#1081)5718766
Fix NPE from SecurityContext startup order, add tests [5.4.0] (#1070)d6f8ef0
Fix processorOrder doubled when members without local parallelism [HZ-4562] [...27f90d3
Revert exclusion of META-INF/THIRD-PARTY.txt [HZ-4561] (#1048)de5b1f4
Replace mysql license [5.4.0] (#1008)f0f8f07
Fix republishing logic in WanPutBackupOperation [5.4.0] (#1014)62dad91
NLCModeLicenseTest Mockito + Azul fix [HZ-4483] (#943)eee9541
Bump software.amazon.awssdk:bom from 2.24.12 to 2.24.13 (#952)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show