From 770f67cf52f5e80e36ade0f563585f3a52a76205 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Mon, 9 Sep 2024 13:06:08 +0100 Subject: [PATCH 01/14] REL-327: prepare release notes --- docs/modules/ROOT/nav.adoc | 1 + docs/modules/release-notes/pages/5-5-1.adoc | 14 ++++++++++++++ docs/modules/release-notes/pages/releases.adoc | 1 + 3 files changed, 16 insertions(+) create mode 100644 docs/modules/release-notes/pages/5-5-1.adoc diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 7bbef0027..cfd5a178e 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -44,6 +44,7 @@ ** xref:migrate:upgrading-from-imdg-3.adoc[] ** xref:migrate:migration-tool-imdg.adoc[] * xref:release-notes:releases.adoc[Release notes] +** xref:release-notes:5-5-1.adoc[5.5.1] ** xref:release-notes:5-5-0.adoc[5.5.0] // * xref:placeholder.adoc[Troubleshooting] // * xref:placeholder.adoc[FAQ] diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc new file mode 100644 index 000000000..4ea45dca1 --- /dev/null +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -0,0 +1,14 @@ += 5.5.1 Release Notes +:description: These release notes list any new features, enhancements, fixes, and breaking changes implemented between version 5.5.0 and version 5.5.1 of Hazelcast Platform. + +{description} + +== Known Issues +* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. + +== Fixes +* Fix partition table snapshot selection +* Fix some invocations not de-registered due to invocation method +* Fix ClassCastException when Offloadable EntryProcessor used with Interceptor +* Fix HD memory exception with TPC +* Disable TPC if ALL_MEMBERS routing is not configured \ No newline at end of file diff --git a/docs/modules/release-notes/pages/releases.adoc b/docs/modules/release-notes/pages/releases.adoc index 1ec03d7d9..6faaf21e0 100644 --- a/docs/modules/release-notes/pages/releases.adoc +++ b/docs/modules/release-notes/pages/releases.adoc @@ -2,4 +2,5 @@ This page summarizes the changes in each release. +* xref:release-notes:5-5-1.adoc[5.5.1] * xref:release-notes:5-5-0.adoc[5.5.0] From 7e8d2d39bec8c7032530d674ce1b780b3ea51339 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Thu, 12 Sep 2024 11:53:29 +0100 Subject: [PATCH 02/14] REL-237: issue numbers added --- docs/modules/release-notes/pages/5-5-1.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc index 4ea45dca1..08af4fffb 100644 --- a/docs/modules/release-notes/pages/5-5-1.adoc +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -7,8 +7,8 @@ * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. == Fixes -* Fix partition table snapshot selection -* Fix some invocations not de-registered due to invocation method -* Fix ClassCastException when Offloadable EntryProcessor used with Interceptor -* Fix HD memory exception with TPC -* Disable TPC if ALL_MEMBERS routing is not configured \ No newline at end of file +* Fix partition table snapshot selection (SUP-538) +* Fix some invocations not de-registered due to invocation method (SUP-543) +* Fix `ClassCastException` when Offloadable EntryProcessor used with Interceptor (SUP-551) +* Fix HD memory exception with Thread-Per-Core (TPC) (SUP-502) +* Disable TPC if `ALL_MEMBERS` routing is not configured (HZG-69) \ No newline at end of file From 7d6c8d9af173eeffa4c0cb8826a9b42e60fbafcd Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Thu, 12 Sep 2024 14:12:37 +0100 Subject: [PATCH 03/14] REL-237: move known issues to end --- docs/modules/release-notes/pages/5-5-1.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc index 08af4fffb..058068a4f 100644 --- a/docs/modules/release-notes/pages/5-5-1.adoc +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -3,12 +3,12 @@ {description} -== Known Issues -* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. - == Fixes * Fix partition table snapshot selection (SUP-538) * Fix some invocations not de-registered due to invocation method (SUP-543) * Fix `ClassCastException` when Offloadable EntryProcessor used with Interceptor (SUP-551) * Fix HD memory exception with Thread-Per-Core (TPC) (SUP-502) -* Disable TPC if `ALL_MEMBERS` routing is not configured (HZG-69) \ No newline at end of file +* Disable TPC if `ALL_MEMBERS` routing is not configured (HZG-69) + +== Known Issues +* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. \ No newline at end of file From 6fe611684e7de4efeca7f206fb423fdcb7b0112f Mon Sep 17 00:00:00 2001 From: hzJamesTsao Date: Wed, 2 Oct 2024 12:16:53 +0100 Subject: [PATCH 04/14] Update security-realms.adoc https://hazelcast.atlassian.net/browse/SUP-604 --- docs/modules/security/pages/security-realms.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/modules/security/pages/security-realms.adoc b/docs/modules/security/pages/security-realms.adoc index 65d67fd86..6ffec76d0 100644 --- a/docs/modules/security/pages/security-realms.adoc +++ b/docs/modules/security/pages/security-realms.adoc @@ -159,11 +159,11 @@ This option is only used when the `role-mapping-mode` option has the value `attr This option is only used when the `role-mapping-mode` option has the value `reverse`. | `role-filter` -| `([role-mapping-attribute]=\{MEMBERDN})` -| LDAP search string which usually contains a placeholder `\{MEMBERDN}` to be -replaced by the provided login name, e.g., `(member=\{MEMBERDN})`. +| `([role-mapping-attribute]=\{memberDN})` +| LDAP search string which usually contains a placeholder `\{memberDN}` to be +replaced by the provided login name, e.g., `(member=\{memberDN})`. -If the role search recursion is enabled (see `role-recursion-max-depth`), the `\{MEMBERDN}` +If the role search recursion is enabled (see `role-recursion-max-depth`), the `\{memberDN}` is replaced by role DNs in the recurrent searches. This option is only used when the `role-mapping-mode` option has the value `reverse`. From e6919d47bed3ac97cba4eae106e128ecab7faab8 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Thu, 30 Jan 2025 18:08:53 +0000 Subject: [PATCH 05/14] REL-177: initial draft of release notes --- docs/modules/ROOT/pages/index.adoc | 147 ------------------ .../ROOT/pages/production-checklist.adoc | 106 ------------- docs/modules/release-notes/pages/5-5-3.adoc | 37 +++++ 3 files changed, 37 insertions(+), 253 deletions(-) delete mode 100644 docs/modules/ROOT/pages/index.adoc delete mode 100644 docs/modules/ROOT/pages/production-checklist.adoc create mode 100644 docs/modules/release-notes/pages/5-5-3.adoc diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc deleted file mode 100644 index cadae10c9..000000000 --- a/docs/modules/ROOT/pages/index.adoc +++ /dev/null @@ -1,147 +0,0 @@ -= What is Hazelcast Platform? -:!page-pagination: -:description: Hazelcast Platform uniquely combines a distributed compute engine and a fast data store in one runtime. It offers unmatched performance, resilience and scale for real-time and AI-driven applications. - -Hazelcast is a distributed computation and storage platform for consistently -low-latency querying, aggregation and stateful computation against event -streams and traditional data sources. {description} It allows you to quickly build -resource-efficient, real-time applications. You can deploy it at any scale -from small edge devices to a large cluster of cloud instances. - -Hazelcast can process data on a set of networked and -clustered computers that pool together their random access memories (RAM) to let -applications share data with other applications running in the cluster. When data -is stored in RAM, applications run a lot faster since it does not need to be -retrieved from disk and put into RAM prior to processing. Using Hazelcast, -you can store and process your data in RAM, spread and replicate it across a cluster of -machines; replication gives you resilience to failures of cluster members. - -Hazelcast is implemented in Java language and has clients for Java, C++, .NET, REST, Python, -Go and Node.js. Hazelcast also speaks Memcached and REST protocols. - -Your cloud-native applications can easily use Hazelcast. -It is flexible enough to use as a data and computing platform out-of-the-box -or as a framework for your own cloud-native applications and microservices. - -Hazelcast is designed to be lightweight and easy to use. Since it -is delivered as a compact library, it easily -plugs into your software solution. - -It is designed to scale up to hundreds of members and thousands of clients. -When you add new members, they automatically discover the cluster -and linearly increase both the memory and -processing capacity. The members maintain a TCP connection between -each other and all communication is performed through -this layer. Each cluster member is configured to be the same in terms -of functionality. The oldest member (the first member created -in the cluster) automatically performs the stored and streaming data assignment to cluster members. -If the oldest member dies, the second oldest member takes over. - -Hazelcast offers simple scalability, partitioning (sharding), and re-balancing -out-of-the-box. It does not require any extra coordination processes. NoSQL and -traditional databases are difficult to scale out and manage. They require additional -processes for coordination and high availability. With Hazelcast, when you start -another process to add more capacity, data and backups are automatically and evenly balanced. - -== What Can You Do with Hazelcast? - -You can request data, listen to events, submit data processing tasks using -Hazelcast clients connected to a cluster. Hazelcast has clients implemented in Java, -.Net, C++, Node.js, Go and Python languages. It also communicates with Memcache and -REST protocols. See the xref:clients:hazelcast-clients.adoc[Hazelcast Clients section]. - -You can build data pipelines using SQL or the Java API which enable the data to -flow from an application to a data source or from a data source to an analytics database. -A very simple example can be reading words from a file, converting them into all-uppercase, -and output the results to your console. See the xref:pipelines:overview.adoc[Building Data Pipelines section]. - -You can import data from databases, files, messaging systems, on-premise and cloud systems -in various formats (data ingestion). Hazelcast offers pipelines and loading/storing interfaces for -this purpose. See the xref:ingest:overview.adoc[Ingesting Data section]. - -You can run queries on the data using SQL in your maps or external systems like Apache Kafka. You can also use -the predicates API to filter and retrieve data in your maps. See the xref:query:overview.adoc[Distributed Queries section]. - -You can run computational tasks on different cluster members (distributed computing); -for this you can use the pipelines, entry processors, and executor services. -See xref:computing:distributed-computing.adoc[Distributed Computing section]. - -You can store your data using the distributed implementation of various -data structures like maps, caches, queues, topics, concurrency utilities. -See the xref:data-structures:distributed-data-structures.adoc[Distributed Data Structures section]. - -You can use it as a distributed second level cache for your Hibernate entities, collections and queries. -Also, Hazelcast can be used as a cache for applications based on the Spring Framework for distributing -shared data in real time. - -You can have multiple Hazelcast clusters at different locations in sync -by replicating their state over WAN environments. See the xref:wan:wan.adoc[Synchronizing Data Across a WAN section]. - -You can listen to the events happening in the cluster, on the data structures and clients so that -you are notified when those events happen. See the xref:events:distributed-events.adoc[Distributed Events section]. - -Please see the Develop Solutions chapter for all the scenarios you can realize using Hazelcast. - -The following are example use cases: - -* Increasing the transactions per second and system uptime in payment processing -* Authorizing and authenticating the credit cards using multiple algorithms within milliseconds for fraud detection -* Decreasing order processing times with low latencies in e-commerce -* Being a real-time streamer to detect application performance -* Clustering highly changing data with event notifications, e.g., user based events, and -queueing and distributing background tasks -* Being a distributed topic (publish/subscribe server) to build scalable chat servers for smartphones -* Constructing a strongly consistent layer using its CP -(CP with respect the CAP principle) subsystem built on top of the Raft consensus algorithm -* Distributing user object states across the cluster, to pass messages between objects -and to share system data structures (static initialization state, mirrored objects, object -identity generators) -* Being a multi-tenancy cache where each tenant has its own stored data -* Sharing datasets, e.g., table-like data structure, to be used by applications -* Storing session data in web applications (enabling horizontal scalability of the web application) - -The applications call for stored data from data sources, e.g., databases, and these sources -are slow since they are not designed to respond in time. Hazelcast runs in the shared -standard memories (RAMs) of a cluster of servers which sits in between the applications and the datasources. -It gets data from the data sources, pulls it up in the memory and serves it to -the applications at in-memory speeds, instead of RPM speeds. This makes Hazelcast -a low-latency solution (fast response times). - -When it comes to streaming data, they come from sources like files, Apache Kafka, IoT and MQ -and they are born in the moment. Hazelcast captures this data in the moment and effectively -processes it on the wire. And this makes Hazelcast a real-time processing platform. - -The unique capability of Hazelcast is its ability to process both batch and streaming data, -with low latency and in real-time, enabling transactional and analytical processing. - -== Architecture Overview - -The fundamental key components of Hazelcast are as follows: - -* A *member* is the computational and data storage unit in Hazelcast. Typically -it is a JVM. -* A Hazelcast *cluster* is a set of members communicating with each other. Members which run Hazelcast -automatically discover one another and form a cluster at runtime. -* *Partitions* are the memory segments that store portions of data. They are distributed evenly -among the available cluster members. They can contain hundreds or thousands of data entries each, -depending on the memory capacity of your system. Hazelcast also automatically creates backups of these partitions -which are also distributed in the cluster. This makes Hazelcast resilient to data loss. - -NOTE: _Node_ and _Member_ are interchangeable, and both mean a Java Virtual Machine (JVM) on which one or more instances of Hazelcast are in operation. - -Hazelcast's *streaming engine* focuses on data transformation while it does all the heavy -lifting of getting the data flowing and computation running across a cluster of members. -It supports working with both bounded (batch) and unbounded (streaming) data. - -Hazelcast's *storage engine* is the distributed, fast, and operational data store dealing with -persistence of data. - -Hazelcast comes out of the box with different sources and sinks. *Sources* are where Hazelcast -pulls the data, and *sinks* are where it outputs the processed data result. Sources and sinks -are also referred to as *connectors*. Its unified connector API provides a simple way to read files, -unified across different sources of the data. See the xref:pipelines:sources-sinks.adoc[Sources and Sinks section] -for more information about the unified connector API and the supported sources and sinks. - - - - diff --git a/docs/modules/ROOT/pages/production-checklist.adoc b/docs/modules/ROOT/pages/production-checklist.adoc deleted file mode 100644 index 34551350c..000000000 --- a/docs/modules/ROOT/pages/production-checklist.adoc +++ /dev/null @@ -1,106 +0,0 @@ -= Production Checklist -:description: The production checklist provides a set of best practices and recommendations to ensure a smooth transition to a production environment which runs a Hazelcast cluster. -[[production-checklist]] - -{description} You should plan for and consider the following areas. - -== Network Recommendations - -All Hazelcast members forming a cluster should be on a minimum 1Gbps Local Area Network (LAN). - -== Hardware Recommendations - -We suggest at least 8 CPU cores or equivalent per member, as well as running a single Hazelcast member per host. - -NOTE: For environments with _either_ fewer or more cores than above, we recommend enabling Thread-Per-Core (TPC). For more info, see xref:cluster-performance:thread-per-core-tpc.adoc[]. - -== Operating System Recommendations - -Hazelcast works in many operating environments and some environments -have unique considerations. These are highlighted below. - -As a general suggestion, we recommend turning off the swapping at operating system level. - -=== Solaris - -Hazelcast is certified for Solaris SPARC. - -However, the following modules are not supported for the Solaris operating system: - -- `hazelcast-jet-grpc` -- `hazelcast-jet-protobuf` -- `hazelcast-jet-python` - -=== VMWare ESX - -Hazelcast is certified on VMWare VSphere 5.5/ESXi 6.0. -Generally speaking, Hazelcast can use all the resources on a full machine. -Splitting a single physical machine into multiple virtual machines and -thereby dividing resources are not required. - -Consider the following for VMWare ESX: - -* Avoid sharing one Network Interface Card (NIC) between multiple virtual machine environments. A Hazelcast cluster is a distributed system and can be very network-intensive. Trying to share one physical NIC between multiple VMs may cause network-related performance problems. -* Avoid over-committing memory. Always use dedicated physical memory for guests running Hazelcast. -* Do not use memory ballooning. -* Be careful overcommitting CPU cores. Monitor CPU steal time metrics. -* Do not move guests while Hazelcast is running - for ESX this means disabling vMotion. If you want to use vMotion (live migration), first stop the Hazelcast cluster then restart it after the migration completes. -* Always enable verbose garbage collection (GC) logs in the Java Virtual Machine. When "Real" time is higher than "User" time, this may indicate virtualization issues. The JVM is not using the CPU to execute application code during garbage collection, and is probably waiting on input/output (I/O) operations. -* Note VMWare guests network types. -* Use pass-through hard disks/partitions; do not use image files. -* Configure partition groups to use a separate underlying physical machine for partition backups. -* If you want to use automatic snapshots, first stop the Hazelcast cluster then restart it after the snapshot. -* Network performance issues, including timeouts, might occur with LRO (Large Receive Offload) -enabled on Linux virtual machines and ESXi/ESX hosts. We have specifically had -this reported in VMware environments, but it could potentially impact other environments as well. -Although this issue is observed only under certain conditions, we strongly recommend either using the e1000 device driver, or disabling LRO when running in virtualized environments. For more information, see https://kb.vmware.com/s/article/1027511. - -=== Windows - -According to a reported rare case, I/O threads can consume a lot of CPU cycles -unexpectedly, even in an idle state. This can lead to CPU usage going up to 100%. -This is reported not only for Hazelcast but for other GitHub projects as well. -The workaround for such cases is to supply the system property `-Dhazelcast.io.selectorMode=selectwithfix` on JVM startup. -See the related https://github.com/hazelcast/hazelcast/issues/7943#issuecomment-218586767[GitHub^] issue for more details. - -== JVM Recommendations - -In order to avoid long garbage collection (GC) pauses and latencies from the Java Virtual Machine (JVM), we recommend 16GB or less of maximum JVM heap. If xref:storage:high-density-memory.adoc[High-Density Memory] is enabled, no more than 8GB of maximum JVM heap is recommended. Horizontal scaling of JVM memory is recommended over vertical scaling if you wish to exceed these numbers. - -General recommendations: - -* GC logs should be enabled -* Minimum and maximum heap size should be equal -* G1GC is the default recommended GC policy -* No tuning is recommended unless needed - -== Data Size Calculation Recommendations - -Total data size should be calculated based on the combination of primary data and backup data. For example, if you have configured your cluster with a backup count of 2, then total memory consumed is actually 3x larger than the primary data size (primary + backup + backup). Partition sizes of 50MB or less are recommended. - -== Partition Size/Count Calculation Recommendations - -The number of internal partitions a Hazelcast member uses can be xref:ROOT:capacity-planning.adoc#partition-count[configured], but must be uniform across all members in the cluster. -An optimal partition count and size establish a balance between the -number of partitions on each member and the data amount on each partition. -You can consider the following when deciding on a partition count. - -* The partition count should be a prime number. This helps to minimize the collision of keys across -partitions, ensuring more consistent lookup times. -* A partition count which is too low constrains the cluster. The count should -be large enough for a balanced data or task distribution so that each member -does not manage too few partitions. -* A partition size of 50MB or less typically ensures good performance. Larger clusters may be able to use up to 100MB partition sizes, but will likely also require larger JVM heap sizes to accomodate the increase in data flow. - -If you are a Hazelcast {enterprise-product-name} customer using the High-Density Data Store with large data sizes, -we recommend a large increase in partition count, starting with 5009 or higher. - -The partition count cannot be easily changed after a cluster is created, so if you have a large cluster be sure to test and set an optimum partition count prior to deployment. If you need to change the partition count after a cluster is already running, you will need to schedule a maintenance window to entirely bring the cluster down. If your cluster uses the xref:storage:persistence.adoc[Persistence] or xref:cp-subsystem:persistence.adoc[CP Persistence] features, those persistent files will need to be removed after the cluster is shut down, as they contain references to the previous partition count. Once all member configurations are updated, and any persistent data structure files are removed, the cluster can be safely restarted. - -The partition count also impacts other areas of the system, such as repartitioning and migration durations, which occur when a Hazelcast member is shutdown (gracefully or non-gracefully). For your production data, it is recommended to analyse the following upon a repartitioning and migration to ensure it meets your requirements: - -* CPU Utilisation. Repartitioning and migration use all partition operation threads. See xref:cluster-performance:best-practices.adoc#partition-aware-operations[Partition-aware Operations] for information on how to configure the number of threads used. -* Memory. Repartitioning and migration can result in additional memory pressure on cluster members. Ensure you have sufficient memory headroom to service your production requirements. -* Repartitioning and Migration Duration. The duration of a repartitioning and migration is determined by the amount of data in the cluster, number of partitions and the cluster size. - -Generally, for the same amount of data, a larger cluster size entails less CPU utilisation, memory pressure and repartitioning and migration durations relative to a smaller cluster size. To monitor the duration of repartitioning and migration durations in your downstream log system you can filter the `INFO` level message emitted by `com.hazelcast.internal.partition.impl.MigrationManager` that matches the pattern `All migration tasks have been completed.` Use the recommendations on this page to determine a partitioning and cluster size that meets your requirements. diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc new file mode 100644 index 000000000..dd99ed8c3 --- /dev/null +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -0,0 +1,37 @@ += 5.5.2 Release Notes +:description: These release notes list any new features, enhancements, fixes, and breaking changes implemented between version 5.5.2 and version 5.5.3 of Hazelcast Platform. + +{description} + +This is a maintenance release for {Enterprise Edition}. + +For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-hazelcast.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. + +== Enhancements +* CP: Enhance error message that the client receives when the CP system is reset (SUP-117) +* Set license.extractor.version to 7.0.2 (SUP-667) +* Add IPv6 support for the AWS discovery for the client (SUP-653) + +For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. + +== Known issues +* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. + +== Fixes + +* Fix task config publishing in Kafka Connect +* Fix UCN + Object format migration +* 14775: IllegalStateException - NodeEngine context is not available for Namespaces in Hazelcast 5.5.0 (SUP-572) + +== Security + +* Security Fix for CVE-2023-45676 +We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. + +// new sections we could consider including + +// == Dependency changes +// == Version changes +// == Downloads +// == Resolved issues +// could combine with Fixes or explain context of SUP #s. Are SUPs private only to raiser? List multiples if several customers raise same issue? DO we ever get fixes without issues, SUP or otherwise? \ No newline at end of file From caafafd46d50670383fbc57ffe8136ed2bf510e6 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Thu, 6 Feb 2025 12:14:58 +0000 Subject: [PATCH 06/14] REL-177: add general notes to all 5.5 RN --- docs/modules/release-notes/pages/5-5-0.adoc | 6 ++++++ docs/modules/release-notes/pages/5-5-1.adoc | 4 ++++ docs/modules/release-notes/pages/5-5-2.adoc | 4 ++++ docs/modules/release-notes/pages/5-5-3.adoc | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/modules/release-notes/pages/5-5-0.adoc b/docs/modules/release-notes/pages/5-5-0.adoc index 3b1d46c99..4b5438b97 100644 --- a/docs/modules/release-notes/pages/5-5-0.adoc +++ b/docs/modules/release-notes/pages/5-5-0.adoc @@ -3,6 +3,12 @@ {description} +This 5.5.0 release is available for {enterprise-product-name} and {open-source-product-name}. + +For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. + +For help downloading Hazelcast {open-source-product-name}, see xref:getting-started:install-hazelcast.adoc[]. + == New Features * Vector collection data structure * Multi-member routing for Java clients diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc index d58860770..a80852b0b 100644 --- a/docs/modules/release-notes/pages/5-5-1.adoc +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -3,6 +3,10 @@ {description} +This is a maintenance release for {Enterprise Edition}. + +For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. + == Known Issues * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. diff --git a/docs/modules/release-notes/pages/5-5-2.adoc b/docs/modules/release-notes/pages/5-5-2.adoc index 01df0ec52..54778c898 100644 --- a/docs/modules/release-notes/pages/5-5-2.adoc +++ b/docs/modules/release-notes/pages/5-5-2.adoc @@ -3,6 +3,10 @@ {description} +This is a maintenance release for {Enterprise Edition}. + +For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. + == New Features * Debezium 2.x support added in {enterprise-product-name} * Hazelcast Cluster Manager available in Vert.x version 5 diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index dd99ed8c3..b55cec020 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -5,7 +5,7 @@ This is a maintenance release for {Enterprise Edition}. -For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-hazelcast.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. +For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. == Enhancements * CP: Enhance error message that the client receives when the CP system is reset (SUP-117) From 1697e3fa69201a9d9f1a79adf98c1013d87cfb64 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Thu, 6 Feb 2025 12:30:30 +0000 Subject: [PATCH 07/14] Add files back in after test (will change in separate PR) --- docs/modules/ROOT/pages/index.adoc | 147 ++++++++++++++++++ .../ROOT/pages/production-checklist.adoc | 106 +++++++++++++ 2 files changed, 253 insertions(+) create mode 100644 docs/modules/ROOT/pages/index.adoc create mode 100644 docs/modules/ROOT/pages/production-checklist.adoc diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc new file mode 100644 index 000000000..cadae10c9 --- /dev/null +++ b/docs/modules/ROOT/pages/index.adoc @@ -0,0 +1,147 @@ += What is Hazelcast Platform? +:!page-pagination: +:description: Hazelcast Platform uniquely combines a distributed compute engine and a fast data store in one runtime. It offers unmatched performance, resilience and scale for real-time and AI-driven applications. + +Hazelcast is a distributed computation and storage platform for consistently +low-latency querying, aggregation and stateful computation against event +streams and traditional data sources. {description} It allows you to quickly build +resource-efficient, real-time applications. You can deploy it at any scale +from small edge devices to a large cluster of cloud instances. + +Hazelcast can process data on a set of networked and +clustered computers that pool together their random access memories (RAM) to let +applications share data with other applications running in the cluster. When data +is stored in RAM, applications run a lot faster since it does not need to be +retrieved from disk and put into RAM prior to processing. Using Hazelcast, +you can store and process your data in RAM, spread and replicate it across a cluster of +machines; replication gives you resilience to failures of cluster members. + +Hazelcast is implemented in Java language and has clients for Java, C++, .NET, REST, Python, +Go and Node.js. Hazelcast also speaks Memcached and REST protocols. + +Your cloud-native applications can easily use Hazelcast. +It is flexible enough to use as a data and computing platform out-of-the-box +or as a framework for your own cloud-native applications and microservices. + +Hazelcast is designed to be lightweight and easy to use. Since it +is delivered as a compact library, it easily +plugs into your software solution. + +It is designed to scale up to hundreds of members and thousands of clients. +When you add new members, they automatically discover the cluster +and linearly increase both the memory and +processing capacity. The members maintain a TCP connection between +each other and all communication is performed through +this layer. Each cluster member is configured to be the same in terms +of functionality. The oldest member (the first member created +in the cluster) automatically performs the stored and streaming data assignment to cluster members. +If the oldest member dies, the second oldest member takes over. + +Hazelcast offers simple scalability, partitioning (sharding), and re-balancing +out-of-the-box. It does not require any extra coordination processes. NoSQL and +traditional databases are difficult to scale out and manage. They require additional +processes for coordination and high availability. With Hazelcast, when you start +another process to add more capacity, data and backups are automatically and evenly balanced. + +== What Can You Do with Hazelcast? + +You can request data, listen to events, submit data processing tasks using +Hazelcast clients connected to a cluster. Hazelcast has clients implemented in Java, +.Net, C++, Node.js, Go and Python languages. It also communicates with Memcache and +REST protocols. See the xref:clients:hazelcast-clients.adoc[Hazelcast Clients section]. + +You can build data pipelines using SQL or the Java API which enable the data to +flow from an application to a data source or from a data source to an analytics database. +A very simple example can be reading words from a file, converting them into all-uppercase, +and output the results to your console. See the xref:pipelines:overview.adoc[Building Data Pipelines section]. + +You can import data from databases, files, messaging systems, on-premise and cloud systems +in various formats (data ingestion). Hazelcast offers pipelines and loading/storing interfaces for +this purpose. See the xref:ingest:overview.adoc[Ingesting Data section]. + +You can run queries on the data using SQL in your maps or external systems like Apache Kafka. You can also use +the predicates API to filter and retrieve data in your maps. See the xref:query:overview.adoc[Distributed Queries section]. + +You can run computational tasks on different cluster members (distributed computing); +for this you can use the pipelines, entry processors, and executor services. +See xref:computing:distributed-computing.adoc[Distributed Computing section]. + +You can store your data using the distributed implementation of various +data structures like maps, caches, queues, topics, concurrency utilities. +See the xref:data-structures:distributed-data-structures.adoc[Distributed Data Structures section]. + +You can use it as a distributed second level cache for your Hibernate entities, collections and queries. +Also, Hazelcast can be used as a cache for applications based on the Spring Framework for distributing +shared data in real time. + +You can have multiple Hazelcast clusters at different locations in sync +by replicating their state over WAN environments. See the xref:wan:wan.adoc[Synchronizing Data Across a WAN section]. + +You can listen to the events happening in the cluster, on the data structures and clients so that +you are notified when those events happen. See the xref:events:distributed-events.adoc[Distributed Events section]. + +Please see the Develop Solutions chapter for all the scenarios you can realize using Hazelcast. + +The following are example use cases: + +* Increasing the transactions per second and system uptime in payment processing +* Authorizing and authenticating the credit cards using multiple algorithms within milliseconds for fraud detection +* Decreasing order processing times with low latencies in e-commerce +* Being a real-time streamer to detect application performance +* Clustering highly changing data with event notifications, e.g., user based events, and +queueing and distributing background tasks +* Being a distributed topic (publish/subscribe server) to build scalable chat servers for smartphones +* Constructing a strongly consistent layer using its CP +(CP with respect the CAP principle) subsystem built on top of the Raft consensus algorithm +* Distributing user object states across the cluster, to pass messages between objects +and to share system data structures (static initialization state, mirrored objects, object +identity generators) +* Being a multi-tenancy cache where each tenant has its own stored data +* Sharing datasets, e.g., table-like data structure, to be used by applications +* Storing session data in web applications (enabling horizontal scalability of the web application) + +The applications call for stored data from data sources, e.g., databases, and these sources +are slow since they are not designed to respond in time. Hazelcast runs in the shared +standard memories (RAMs) of a cluster of servers which sits in between the applications and the datasources. +It gets data from the data sources, pulls it up in the memory and serves it to +the applications at in-memory speeds, instead of RPM speeds. This makes Hazelcast +a low-latency solution (fast response times). + +When it comes to streaming data, they come from sources like files, Apache Kafka, IoT and MQ +and they are born in the moment. Hazelcast captures this data in the moment and effectively +processes it on the wire. And this makes Hazelcast a real-time processing platform. + +The unique capability of Hazelcast is its ability to process both batch and streaming data, +with low latency and in real-time, enabling transactional and analytical processing. + +== Architecture Overview + +The fundamental key components of Hazelcast are as follows: + +* A *member* is the computational and data storage unit in Hazelcast. Typically +it is a JVM. +* A Hazelcast *cluster* is a set of members communicating with each other. Members which run Hazelcast +automatically discover one another and form a cluster at runtime. +* *Partitions* are the memory segments that store portions of data. They are distributed evenly +among the available cluster members. They can contain hundreds or thousands of data entries each, +depending on the memory capacity of your system. Hazelcast also automatically creates backups of these partitions +which are also distributed in the cluster. This makes Hazelcast resilient to data loss. + +NOTE: _Node_ and _Member_ are interchangeable, and both mean a Java Virtual Machine (JVM) on which one or more instances of Hazelcast are in operation. + +Hazelcast's *streaming engine* focuses on data transformation while it does all the heavy +lifting of getting the data flowing and computation running across a cluster of members. +It supports working with both bounded (batch) and unbounded (streaming) data. + +Hazelcast's *storage engine* is the distributed, fast, and operational data store dealing with +persistence of data. + +Hazelcast comes out of the box with different sources and sinks. *Sources* are where Hazelcast +pulls the data, and *sinks* are where it outputs the processed data result. Sources and sinks +are also referred to as *connectors*. Its unified connector API provides a simple way to read files, +unified across different sources of the data. See the xref:pipelines:sources-sinks.adoc[Sources and Sinks section] +for more information about the unified connector API and the supported sources and sinks. + + + + diff --git a/docs/modules/ROOT/pages/production-checklist.adoc b/docs/modules/ROOT/pages/production-checklist.adoc new file mode 100644 index 000000000..34551350c --- /dev/null +++ b/docs/modules/ROOT/pages/production-checklist.adoc @@ -0,0 +1,106 @@ += Production Checklist +:description: The production checklist provides a set of best practices and recommendations to ensure a smooth transition to a production environment which runs a Hazelcast cluster. +[[production-checklist]] + +{description} You should plan for and consider the following areas. + +== Network Recommendations + +All Hazelcast members forming a cluster should be on a minimum 1Gbps Local Area Network (LAN). + +== Hardware Recommendations + +We suggest at least 8 CPU cores or equivalent per member, as well as running a single Hazelcast member per host. + +NOTE: For environments with _either_ fewer or more cores than above, we recommend enabling Thread-Per-Core (TPC). For more info, see xref:cluster-performance:thread-per-core-tpc.adoc[]. + +== Operating System Recommendations + +Hazelcast works in many operating environments and some environments +have unique considerations. These are highlighted below. + +As a general suggestion, we recommend turning off the swapping at operating system level. + +=== Solaris + +Hazelcast is certified for Solaris SPARC. + +However, the following modules are not supported for the Solaris operating system: + +- `hazelcast-jet-grpc` +- `hazelcast-jet-protobuf` +- `hazelcast-jet-python` + +=== VMWare ESX + +Hazelcast is certified on VMWare VSphere 5.5/ESXi 6.0. +Generally speaking, Hazelcast can use all the resources on a full machine. +Splitting a single physical machine into multiple virtual machines and +thereby dividing resources are not required. + +Consider the following for VMWare ESX: + +* Avoid sharing one Network Interface Card (NIC) between multiple virtual machine environments. A Hazelcast cluster is a distributed system and can be very network-intensive. Trying to share one physical NIC between multiple VMs may cause network-related performance problems. +* Avoid over-committing memory. Always use dedicated physical memory for guests running Hazelcast. +* Do not use memory ballooning. +* Be careful overcommitting CPU cores. Monitor CPU steal time metrics. +* Do not move guests while Hazelcast is running - for ESX this means disabling vMotion. If you want to use vMotion (live migration), first stop the Hazelcast cluster then restart it after the migration completes. +* Always enable verbose garbage collection (GC) logs in the Java Virtual Machine. When "Real" time is higher than "User" time, this may indicate virtualization issues. The JVM is not using the CPU to execute application code during garbage collection, and is probably waiting on input/output (I/O) operations. +* Note VMWare guests network types. +* Use pass-through hard disks/partitions; do not use image files. +* Configure partition groups to use a separate underlying physical machine for partition backups. +* If you want to use automatic snapshots, first stop the Hazelcast cluster then restart it after the snapshot. +* Network performance issues, including timeouts, might occur with LRO (Large Receive Offload) +enabled on Linux virtual machines and ESXi/ESX hosts. We have specifically had +this reported in VMware environments, but it could potentially impact other environments as well. +Although this issue is observed only under certain conditions, we strongly recommend either using the e1000 device driver, or disabling LRO when running in virtualized environments. For more information, see https://kb.vmware.com/s/article/1027511. + +=== Windows + +According to a reported rare case, I/O threads can consume a lot of CPU cycles +unexpectedly, even in an idle state. This can lead to CPU usage going up to 100%. +This is reported not only for Hazelcast but for other GitHub projects as well. +The workaround for such cases is to supply the system property `-Dhazelcast.io.selectorMode=selectwithfix` on JVM startup. +See the related https://github.com/hazelcast/hazelcast/issues/7943#issuecomment-218586767[GitHub^] issue for more details. + +== JVM Recommendations + +In order to avoid long garbage collection (GC) pauses and latencies from the Java Virtual Machine (JVM), we recommend 16GB or less of maximum JVM heap. If xref:storage:high-density-memory.adoc[High-Density Memory] is enabled, no more than 8GB of maximum JVM heap is recommended. Horizontal scaling of JVM memory is recommended over vertical scaling if you wish to exceed these numbers. + +General recommendations: + +* GC logs should be enabled +* Minimum and maximum heap size should be equal +* G1GC is the default recommended GC policy +* No tuning is recommended unless needed + +== Data Size Calculation Recommendations + +Total data size should be calculated based on the combination of primary data and backup data. For example, if you have configured your cluster with a backup count of 2, then total memory consumed is actually 3x larger than the primary data size (primary + backup + backup). Partition sizes of 50MB or less are recommended. + +== Partition Size/Count Calculation Recommendations + +The number of internal partitions a Hazelcast member uses can be xref:ROOT:capacity-planning.adoc#partition-count[configured], but must be uniform across all members in the cluster. +An optimal partition count and size establish a balance between the +number of partitions on each member and the data amount on each partition. +You can consider the following when deciding on a partition count. + +* The partition count should be a prime number. This helps to minimize the collision of keys across +partitions, ensuring more consistent lookup times. +* A partition count which is too low constrains the cluster. The count should +be large enough for a balanced data or task distribution so that each member +does not manage too few partitions. +* A partition size of 50MB or less typically ensures good performance. Larger clusters may be able to use up to 100MB partition sizes, but will likely also require larger JVM heap sizes to accomodate the increase in data flow. + +If you are a Hazelcast {enterprise-product-name} customer using the High-Density Data Store with large data sizes, +we recommend a large increase in partition count, starting with 5009 or higher. + +The partition count cannot be easily changed after a cluster is created, so if you have a large cluster be sure to test and set an optimum partition count prior to deployment. If you need to change the partition count after a cluster is already running, you will need to schedule a maintenance window to entirely bring the cluster down. If your cluster uses the xref:storage:persistence.adoc[Persistence] or xref:cp-subsystem:persistence.adoc[CP Persistence] features, those persistent files will need to be removed after the cluster is shut down, as they contain references to the previous partition count. Once all member configurations are updated, and any persistent data structure files are removed, the cluster can be safely restarted. + +The partition count also impacts other areas of the system, such as repartitioning and migration durations, which occur when a Hazelcast member is shutdown (gracefully or non-gracefully). For your production data, it is recommended to analyse the following upon a repartitioning and migration to ensure it meets your requirements: + +* CPU Utilisation. Repartitioning and migration use all partition operation threads. See xref:cluster-performance:best-practices.adoc#partition-aware-operations[Partition-aware Operations] for information on how to configure the number of threads used. +* Memory. Repartitioning and migration can result in additional memory pressure on cluster members. Ensure you have sufficient memory headroom to service your production requirements. +* Repartitioning and Migration Duration. The duration of a repartitioning and migration is determined by the amount of data in the cluster, number of partitions and the cluster size. + +Generally, for the same amount of data, a larger cluster size entails less CPU utilisation, memory pressure and repartitioning and migration durations relative to a smaller cluster size. To monitor the duration of repartitioning and migration durations in your downstream log system you can filter the `INFO` level message emitted by `com.hazelcast.internal.partition.impl.MigrationManager` that matches the pattern `All migration tasks have been completed.` Use the recommendations on this page to determine a partitioning and cluster size that meets your requirements. From b94f9b38239a4a1b809ae39e4383a4a93ab8d624 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Fri, 7 Feb 2025 15:05:13 +0000 Subject: [PATCH 08/14] REL-177: edit after review --- docs/modules/release-notes/pages/5-5-0.adoc | 2 +- docs/modules/release-notes/pages/5-5-3.adoc | 23 ++++++------------- .../modules/release-notes/pages/releases.adoc | 3 ++- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-0.adoc b/docs/modules/release-notes/pages/5-5-0.adoc index 4b5438b97..996d2bb7f 100644 --- a/docs/modules/release-notes/pages/5-5-0.adoc +++ b/docs/modules/release-notes/pages/5-5-0.adoc @@ -3,7 +3,7 @@ {description} -This 5.5.0 release is available for {enterprise-product-name} and {open-source-product-name}. +The 5.5.0 release is available for {enterprise-product-name} and {open-source-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index b55cec020..a1ad43620 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -1,16 +1,16 @@ -= 5.5.2 Release Notes += 5.5.3 Release Notes :description: These release notes list any new features, enhancements, fixes, and breaking changes implemented between version 5.5.2 and version 5.5.3 of Hazelcast Platform. {description} -This is a maintenance release for {Enterprise Edition}. +This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. == Enhancements -* CP: Enhance error message that the client receives when the CP system is reset (SUP-117) -* Set license.extractor.version to 7.0.2 (SUP-667) -* Add IPv6 support for the AWS discovery for the client (SUP-653) +* CP: Enhanced error message displayed when the CP system is reset for clients using FencedLock (SUP-117) +* Updated BouncyCastle to support FIPS compliance (license.extractor.version set to 7.0.2) (SUP-667) +* Added IPv6 support to the AWS discovery plugin (SUP-653) For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. @@ -18,20 +18,11 @@ For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5 * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. == Fixes - -* Fix task config publishing in Kafka Connect -* Fix UCN + Object format migration +* Fixed task config publishing in Kafka Connect (HZG-220) +* Fixed migration issues with UCN classes in InMemoryFormat.OBJECT (HZG-227) * 14775: IllegalStateException - NodeEngine context is not available for Namespaces in Hazelcast 5.5.0 (SUP-572) == Security * Security Fix for CVE-2023-45676 We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. - -// new sections we could consider including - -// == Dependency changes -// == Version changes -// == Downloads -// == Resolved issues -// could combine with Fixes or explain context of SUP #s. Are SUPs private only to raiser? List multiples if several customers raise same issue? DO we ever get fixes without issues, SUP or otherwise? \ No newline at end of file diff --git a/docs/modules/release-notes/pages/releases.adoc b/docs/modules/release-notes/pages/releases.adoc index c8a1c9385..c7d88e98e 100644 --- a/docs/modules/release-notes/pages/releases.adoc +++ b/docs/modules/release-notes/pages/releases.adoc @@ -1,7 +1,8 @@ = Hazelcast Platform 5.5.x release notes -This page summarizes the changes in each release. +This section summarizes the changes in each release. +* xref:release-notes:5-5-3.adoc[5.5.3] * xref:release-notes:5-5-2.adoc[5.5.2] * xref:release-notes:5-5-1.adoc[5.5.1] * xref:release-notes:5-5-0.adoc[5.5.0] From 128e460695844d4ae8bf6c0653f964f4d1084e63 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Fri, 7 Feb 2025 15:20:13 +0000 Subject: [PATCH 09/14] REL-177: add date and nav item --- docs/modules/ROOT/nav.adoc | 1 + docs/modules/release-notes/pages/5-5-3.adoc | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 25bc2c343..4ea489a39 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -43,6 +43,7 @@ ** xref:migrate:upgrading-from-imdg-3.adoc[] ** xref:migrate:migration-tool-imdg.adoc[] * xref:release-notes:releases.adoc[Release notes] +** xref:release-notes:5-5-3.adoc[5.5.3] ** xref:release-notes:5-5-2.adoc[5.5.2] ** xref:release-notes:5-5-1.adoc[5.5.1] ** xref:release-notes:5-5-0.adoc[5.5.0] diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index a1ad43620..dce3e99ef 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -3,6 +3,8 @@ {description} +Release date - 2025-02-10 + This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. From f064f8872425867a2f88d38e3558fa52e093085f Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Fri, 7 Feb 2025 16:07:42 +0000 Subject: [PATCH 10/14] REK-177: more review edits --- docs/modules/release-notes/pages/5-5-1.adoc | 2 +- docs/modules/release-notes/pages/5-5-2.adoc | 2 +- docs/modules/release-notes/pages/5-5-3.adoc | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc index a80852b0b..d2a6a7dce 100644 --- a/docs/modules/release-notes/pages/5-5-1.adoc +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -3,7 +3,7 @@ {description} -This is a maintenance release for {Enterprise Edition}. +This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. diff --git a/docs/modules/release-notes/pages/5-5-2.adoc b/docs/modules/release-notes/pages/5-5-2.adoc index 54778c898..75ca1d442 100644 --- a/docs/modules/release-notes/pages/5-5-2.adoc +++ b/docs/modules/release-notes/pages/5-5-2.adoc @@ -3,7 +3,7 @@ {description} -This is a maintenance release for {Enterprise Edition}. +This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index dce3e99ef..97741d330 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -11,7 +11,7 @@ For help downloading Hazelcast {enterprise-product-name}, see xref:getting-start == Enhancements * CP: Enhanced error message displayed when the CP system is reset for clients using FencedLock (SUP-117) -* Updated BouncyCastle to support FIPS compliance (license.extractor.version set to 7.0.2) (SUP-667) +* Updated BouncyCastle to support FIPS compliance (SUP-667) * Added IPv6 support to the AWS discovery plugin (SUP-653) For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. @@ -21,10 +21,9 @@ For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5 == Fixes * Fixed task config publishing in Kafka Connect (HZG-220) -* Fixed migration issues with UCN classes in InMemoryFormat.OBJECT (HZG-227) -* 14775: IllegalStateException - NodeEngine context is not available for Namespaces in Hazelcast 5.5.0 (SUP-572) +* Fixed migration issues with UCN classes in `InMemoryFormat.OBJECT` (HZG-227) == Security * Security Fix for CVE-2023-45676 -We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. +We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a dependency vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. From e046b1b82156ce2b6d814e68845e40e7eeb7a92b Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Mon, 10 Feb 2025 12:14:37 +0000 Subject: [PATCH 11/14] REL-177: add longer descriptions and change date --- docs/modules/release-notes/pages/5-5-3.adoc | 22 ++++++++++----------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index 97741d330..9b3c1e921 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -3,27 +3,25 @@ {description} -Release date - 2025-02-10 +**Release date**: 2025-02-12 This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. == Enhancements -* CP: Enhanced error message displayed when the CP system is reset for clients using FencedLock (SUP-117) -* Updated BouncyCastle to support FIPS compliance (SUP-667) -* Added IPv6 support to the AWS discovery plugin (SUP-653) +* **Enhanced error message received by clients using FencedLock**: During a CP Subsystem reset, clients using FencedLock previously received a `NotLeaderException` stating “null is not LEADER of null. Known leader is: N/A". This message now reads "Lock[] is no longer valid in the CP group [] as the cluster has no information about Lock[]. Please recreate the lock or rejoin the cluster to obtain a valid reference." +* **Updated BouncyCastle to support FIPS compliance**: Hazelcast now supports FIPS-compliant mode with an updated BouncyCastle implementation. Previously, a public key used by Hazelcast was not endorsed in FIPS-approved mode under BouncyCastle version 2.0.0. +* **Added IPv6 support to the AWS discovery plugin**: The AWS discovery plugin now supports IPv6 by checking for an `ipv6address`` field in the instance description and adding an extra entry for private-to-public mapping as (`ipv6address`, `ipv6address`). If the client is inside AWS, it will prioritize using the private IPv6, which ensures better connectivity in IPv6-enabled environments. For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. -== Known issues -* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. +== Security +* **Security Fix for CVE-2023-45676**: We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a dependency vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. == Fixes -* Fixed task config publishing in Kafka Connect (HZG-220) -* Fixed migration issues with UCN classes in `InMemoryFormat.OBJECT` (HZG-227) +* **Fixed task config publishing in Kafka Connect**: Fixed an issue in `LateJoiningListener` where a race condition in `ringbuffer.tailSequence()` could result in a missed message if a message was published between two calls to `tailSequence()`. Also resolved a race condition where a message could be processed before `sourceConnector` and `taskRunner` were fully initialized, causing a hidden NullPointerException (NPE). The listener is now registered only after these fields are set and additional logging is added for exceptions in `processMessage` to help identify issues like the hidden NPE. +* **Fixed migration issues with UCN classes in `InMemoryFormat.OBJECT`**: Fixed an issue where inserting an entry with classes from User Code Namespace (UCN) into an IMap and other data structures configured with `InMemoryFormat.OBJECT` resulted in migration failures. -== Security - -* Security Fix for CVE-2023-45676 -We have resolved https://github.com/advisories/GHSA-gcg6-xv4f-f749[CVE-2023-45676], a dependency vulnerability related to improper authorization checks in certain scenarios. This issue could potentially allow attackers to bypass expected permission restrictions. +== Known issues +* There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more information, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. From c564afe1cfacc8bf8a79047d05850c6cf7d25131 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Tue, 11 Feb 2025 11:55:02 +0000 Subject: [PATCH 12/14] REL-177: change order and normalize titles --- docs/modules/release-notes/pages/5-5-0.adoc | 10 +++++----- docs/modules/release-notes/pages/5-5-1.adoc | 4 ++-- docs/modules/release-notes/pages/5-5-2.adoc | 6 +++--- docs/modules/release-notes/pages/5-5-3.adoc | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/modules/release-notes/pages/5-5-0.adoc b/docs/modules/release-notes/pages/5-5-0.adoc index 996d2bb7f..f26749b61 100644 --- a/docs/modules/release-notes/pages/5-5-0.adoc +++ b/docs/modules/release-notes/pages/5-5-0.adoc @@ -1,4 +1,4 @@ -= 5.5.0 Release Notes += 5.5.0 Release notes :description: These release notes list any new features, enhancements, fixes and breaking changes that were made between version 5.4.1 and version 5.5.0 of Hazelcast Platform. {description} @@ -9,7 +9,7 @@ For help downloading Hazelcast {enterprise-product-name}, see xref:getting-start For help downloading Hazelcast {open-source-product-name}, see xref:getting-started:install-hazelcast.adoc[]. -== New Features +== New features * Vector collection data structure * Multi-member routing for Java clients * Jet job placement control @@ -19,11 +19,11 @@ For help downloading Hazelcast {open-source-product-name}, see xref:getting-star For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. -== Breaking Changes +== Breaking changes * For {open-source-product-name} users only - CP Subsystem is now an {enterprise-product-name} only feature * Thread-per-core (TPC) requires `ALL_MEMBERS` cluster routing (previously known as smart routing) to function on clients -== Known Issues +== Known issues * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios. For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. == Enhancements @@ -67,7 +67,7 @@ For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5 * IMap.delete operations don't update the LocalMapStats https://github.com/hazelcast/hazelcast/issues/26212[#26212] * Updated StringUtil::trim() to consider all type of white space https://github.com/hazelcast/hazelcast/pull/25804[#25804] -== Removed/Deprecated Features +== Removed/Deprecated features * The `smart-routing` client configuration option has been deprecated in favor of the new `cluster-routing` options == Contributors diff --git a/docs/modules/release-notes/pages/5-5-1.adoc b/docs/modules/release-notes/pages/5-5-1.adoc index d2a6a7dce..3006cf063 100644 --- a/docs/modules/release-notes/pages/5-5-1.adoc +++ b/docs/modules/release-notes/pages/5-5-1.adoc @@ -1,4 +1,4 @@ -= 5.5.1 Release Notes += 5.5.1 Release notes :description: These release notes list any new features, enhancements, fixes, and breaking changes implemented between version 5.5.0 and version 5.5.1 of Hazelcast Platform. {description} @@ -7,7 +7,7 @@ This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. -== Known Issues +== Known issues * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. == Fixes diff --git a/docs/modules/release-notes/pages/5-5-2.adoc b/docs/modules/release-notes/pages/5-5-2.adoc index 75ca1d442..56377b8f8 100644 --- a/docs/modules/release-notes/pages/5-5-2.adoc +++ b/docs/modules/release-notes/pages/5-5-2.adoc @@ -1,4 +1,4 @@ -= 5.5.2 Release Notes += 5.5.2 Release notes :description: These release notes list any new features, enhancements, fixes, and breaking changes implemented between version 5.5.1 and version 5.5.2 of Hazelcast Platform. {description} @@ -7,13 +7,13 @@ This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. -== New Features +== New features * Debezium 2.x support added in {enterprise-product-name} * Hazelcast Cluster Manager available in Vert.x version 5 For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. -== Known Issues +== Known issues * There is currently a known issue that has potential for causing a memory leak in Vector collections in some scenarios (AI-133). For more info, including a workaround, see xref:data-structures:vector-collections.adoc#known-issue[Vector Collection Known Issue]. == Fixes diff --git a/docs/modules/release-notes/pages/5-5-3.adoc b/docs/modules/release-notes/pages/5-5-3.adoc index 9b3c1e921..1734b41a2 100644 --- a/docs/modules/release-notes/pages/5-5-3.adoc +++ b/docs/modules/release-notes/pages/5-5-3.adoc @@ -10,9 +10,9 @@ This is a maintenance release for {enterprise-product-name}. For help downloading Hazelcast {enterprise-product-name}, see xref:getting-started:install-enterprise.adoc[] or https://hazelcast.com/trial-request/?utm_source=docs-website[request a trial license key]. == Enhancements -* **Enhanced error message received by clients using FencedLock**: During a CP Subsystem reset, clients using FencedLock previously received a `NotLeaderException` stating “null is not LEADER of null. Known leader is: N/A". This message now reads "Lock[] is no longer valid in the CP group [] as the cluster has no information about Lock[]. Please recreate the lock or rejoin the cluster to obtain a valid reference." -* **Updated BouncyCastle to support FIPS compliance**: Hazelcast now supports FIPS-compliant mode with an updated BouncyCastle implementation. Previously, a public key used by Hazelcast was not endorsed in FIPS-approved mode under BouncyCastle version 2.0.0. * **Added IPv6 support to the AWS discovery plugin**: The AWS discovery plugin now supports IPv6 by checking for an `ipv6address`` field in the instance description and adding an extra entry for private-to-public mapping as (`ipv6address`, `ipv6address`). If the client is inside AWS, it will prioritize using the private IPv6, which ensures better connectivity in IPv6-enabled environments. +* **Updated BouncyCastle to support FIPS compliance**: Hazelcast now supports FIPS-compliant mode with an updated BouncyCastle implementation. Previously, a public key used by Hazelcast was not endorsed in FIPS-approved mode under BouncyCastle version 2.0.0. +* **Enhanced error message received by clients using FencedLock**: During a CP Subsystem reset, clients using FencedLock previously received a `NotLeaderException` stating “null is not LEADER of null. Known leader is: N/A". This message now reads "Lock[] is no longer valid in the CP group [] as the cluster has no information about Lock[]. Please recreate the lock or rejoin the cluster to obtain a valid reference." For more details on new features, see xref:ROOT:whats-new.adoc[What's new in 5.5]. From 05bcff1f67676b2f01a562862e0d4ed94ac3d08c Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Wed, 12 Feb 2025 14:02:01 +0000 Subject: [PATCH 13/14] REL-178: update antora for version --- docs/antora.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/antora.yml b/docs/antora.yml index 7149bb746..debb7bb92 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -8,13 +8,13 @@ display_version: '5.5' asciidoc: attributes: # The full major.minor.patch version, which is used as a variable in the docs for things like download links - full-version: '5.5.2' + full-version: '5.5.3' os-version: '5.5.0' - ee-version: '5.5.2' + ee-version: '5.5.3' # The minor.patch version, which is used as a variable in the docs for things like file versions minor-version: '5.5' # The snapshot version for installing with brew - version-brew: '5.5.2' + version-brew: '5.5.3' java-client-standalone-version: '5.5.0-BETA' # Allows us to use UI macros. See https://docs.asciidoctor.org/asciidoc/latest/macros/ui-macros/ experimental: true @@ -22,8 +22,8 @@ asciidoc: # All page-latest attributes are used as a variable in the docs for things like download links and search results page-latest-cli: '5.2021.09' # Must be lowercase because this is how the version appears in the docs - page-latest-supported-mc: '5.6' - page-latest-supported-java-client: '5.5.2' + page-latest-supported-mc: '5.7' + page-latest-supported-java-client: '5.5.3' page-latest-supported-java-client-new: '5.5.0-BETA' # https://github.com/hazelcast/hazelcast-go-client/releases page-latest-supported-go-client: '1.4.2' From 0c12a42b4ad7c9c7b83551a89341ea2bb34ca8f6 Mon Sep 17 00:00:00 2001 From: Oliver Howell Date: Wed, 12 Feb 2025 14:39:56 +0000 Subject: [PATCH 14/14] Fix API doc links proliferation --- docs/modules/clients/pages/java.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/modules/clients/pages/java.adoc b/docs/modules/clients/pages/java.adoc index 5a1031ed0..eed2608d4 100644 --- a/docs/modules/clients/pages/java.adoc +++ b/docs/modules/clients/pages/java.adoc @@ -1,5 +1,4 @@ = Java Client -:page-api-reference: https://docs.hazelcast.org/docs/{page-latest-supported-java-client}/javadoc :page-toclevels: 1 :page-aliases: security:native-client-security.adoc :description: Hazelcast provides a {java-client} within the standard distribution you can start using right away, and also a lightweight {java-client-new} that is available in Beta. @@ -17,7 +16,8 @@ NOTE: Where there are specific differences between {java-client} and {java-clien Both clients enable you to use the Hazelcast API, with this page explaining any differences or technical details that affect usage. This page should be read alongside the respective Javadoc-generated API documentation available from within your IDE and the following links: -* https://docs.hazelcast.org/docs/{page-latest-supported-java-client}/javadoc[Hazelcast {java-client} API documentation] +* https://docs.hazelcast.org/hazelcast-ee-docs/{ee-version}/javadoc[Hazelcast {java-client} {enterprise-product-name} API documentation] +* https://docs.hazelcast.org/docs/{os-version}/javadoc[Hazelcast {java-client} {open-source-product-name} API documentation] * https://docs.hazelcast.org/hazelcast-java-client/{page-latest-supported-java-client-new}/javadoc[Hazelcast {java-client-new} API documentation] == Get started