This is a prerelease version.

View latest

5.1-BETA-1 Release Notes

New Features

  • Tiered Storage (BETA): Introduced the Tiered Storage feature which is an extension to Hazelcast Map assigning data to various types of storage media based on access patterns. It is a Hazelcast Enterprise feature and in BETA state. See Tiered Storage.

  • Persistence for Dynamic Configuration: You can persist dynamic configuration changes that are made to cluster members at runtime. See Updating Member Configuration at Runtime.

Enhancements

SQL Engine

Cloud Discovery Plugins

  • Added EndpointSlices support for the Kubernetes discovery plugin; now the EndpointSlices API usage is default, and the old Endpoints API is not used as a fallback if EndpointSlices are not available. #19643

Serialization

  • Updated the names of methods and fields in the Compact Serialization API to make them non-Java centric. #20257

  • Added the declarative configuration elements for Compact Serialization. #20016

  • Introduced the FieldKind class to get the field types for portable and compact serializations; previously it was FieldType. #19517

Configuration

  • Introduced a system property for allowing you to audit that all the Hazelcast instances running in your environment have the instance tracking file name set correctly in the configuration. See the note in Instance Tracking. #19928

Management Center

  • Added the data-access-enabled property for the Management Center configuration on the member side. This allows you to enable or disable the access of Management Center to the data stored by the data structures in the cluster. Management Center can’t access the data if at least one member has the data access disabled. Its default value is true (enabled). #19991

  • Added the console-enabled property for the Management Center configuration on the member side. This allows you to disable the console feature on Management Center as it supports lots of operations and it’s not subject to the regular access restrictions; it can read from/write to any data structure even if Management Center is restricted to access those via client permissions. #19718

Support for JDK 17

Hazelcast now supports JDK 17. See Supported Java Virtual Machines.

Other Enhancements

  • Updated log4j2 dependency version to 2.17.1 in Hazelcast’s root pom.xml. #20184

  • The hz-start script now accepts absolute paths when providing the Hazelcast configuration file’s location. #19908

  • JSON strings can now work with paging predicate queries. #19880

  • You can now check if Hazelcast is started properly in the Docker environment simply by using a curl command, e.g., curl -f http://hazelcast-host:5701/hazelcast/health/ready. #19664

  • Hazelcast’s memcached implementation was interpreting the number values and parameters for incr and decr wrongly (numbers were being converted into byte arrays instead of decimals). This has been fixed by making these commands' implementations strictly follow the memcached protocol specification. #19653

  • Since the name of Hot Restart Persistence feature changed to Persistence, the prefix for its metrics also has been changed from "hot-restart" to "persistence". #19543

  • Improved the speed of connection by a member when it joins the cluster, by removing the unnecessary sleep statements in the code. #18932

Fixes

  • Fixed an issue where a single SQL query having a mix of JSON string and HazelcastJsonValue for the INSERT statement was not working. #20303

  • Fixed various issues when using hostnames in Hazelcast’s network and WAN Replication configurations. With this fix, you can seamlessly use hostnames wherever the IP addresses of the members are used. #20014, #15722

  • Fixed an issue where the hazelcast.yaml file was ignored when it is the only configuration file present in the Hazelcast setup; during startup it was looking only for the hazelcast.xml file and producing an error message saying that the configuration does not exist even though there is the yaml configuration file. Now it automatically uses hazelcast.yaml when hazelcast.xml is not available. #20003

  • Fixed an issue where the Hazelcast command line interfaces commands were outputting incorrect command names when you want to see their usages using the --help argument. For example, the command hz-start --help was outputting the following:

    Usage: hazelcast-start [-d]
      -d, --daemon   Starts Hazelcast in daemon mode

    instead of the following:

    Usage: hz-start [-d]
      -d, --daemon   Starts Hazelcast in daemon mode
  • Fixed an issue where querying a map with SELECT (SQL) was failing when the data has compact serialization and the cluster has more than one member (with the class not being on the classpath). #19952

  • In Kubernetes environment, when the health check endpoint was taking too long to respond, the Hazelcast members were considered to be unresponsive and terminated; this issue has been fixed. #19829

  • Fixed an issue where the command hz-stop --help was not displaying the help but executing the hz-stop command. #19749

  • When you both enable the persistence and automatic removal of stale data in the configuration, member startup failures were occurring. This has been fixed by adding the auto-remove-stale-data element to the configuration schema. #19683

  • Fixed an issue where the totalPublishes statistics for the Reliable Topic data structure were always generated as 0. #19642

  • Fixed an issue where some Spring XML configuration elements having values as property placeholders were not working when Hazelcast is upgraded to a newer version. #19629

  • Fixed an issue where the totalPublishes statistics for the Reliable Topic data structure were always generated as 0. #19555

  • Fixed an issue where the serialization was failing when the object has enum fields, or it is an enum itself. #19314

Removed/Deprecated Features

  • Deprecated the log(LogEvent logEvent) method in the ILogger class (com.hazelcast.logging.ILogger).

  • We’ve discontinued support for the Elasticsearch 5 connector because this version is no longer maintained by the Elastic team, and it includes security vulverabilities that will not be fixed. See the Elastic support docs.

Contributors

We would like to thank the contributors from our open source community who worked on this release: