-
Upgrading from 3.6.x to 3.7.x when using
JCache: Hazelcast 3.7 introduced changes inJCacheimplementation which broke compatibility of 3.6.x clients to 3.7-3.7.2 cluster members and vice versa, so 3.7-3.7.2 clients are also incompatible with 3.6.x cluster members. This issue only affects Java clients which useJCachefunctionality.Starting with Hazelcast 3.7.3, a compatibility option is provided which can be used to ensure backwards compatibility with 3.6.x clients. In order to upgrade a 3.6.x cluster and clients to 3.7.3 (or later), you will need to use this compatibility option on either the member or the client side, depending on which one is upgraded first:
- first upgrade your cluster members to 3.7.3, adding property
hazelcast.compatibility.3.6.client=trueto your configuration; when started with this property, cluster members are compatible with 3.6.x and 3.7.3+ clients but not with 3.7-3.7.2 clients. Once your cluster is upgraded, you may upgrade your applications to use client version 3.7.3+. - upgrade your clients from 3.6.x to 3.7.3, adding property
hazelcast.compatibility.3.6.server=trueto your Hazelcast client configuration. A 3.7.3 client started with this compatibility option is compatible with 3.6.x and 3.7.3+ cluster members but incompatible with 3.7-3.7.2 cluster members. Once your clients are upgraded, you may then proceed to upgrade your cluster members to version 3.7.3 or later.
You may use any of the supported ways as described in the System Properties section to configure the compatibility option. When done upgrading your cluster and clients, you may remove the compatibility property from your Hazelcast member configuration.
- first upgrade your cluster members to 3.7.3, adding property
-
Introducing the
spring-awareelement: Before the release 3.5, Hazelcast usesSpringManagedContextto scanSpringAwareannotations by default. This may cause some performance overhead for the users who do not useSpringAware. This behavior has been changed with the release of Hazelcast 3.5.SpringAwareannotations are disabled by default. By introducing thespring-awareelement, now it is possible to enable it by adding the<hz:spring-aware />tag to the configuration. Please see the Spring Integration section. -
Introducing new configuration options for WAN replication: Starting with Hazelcast 3.6, WAN replication related system properties, which are configured on a per member basis, can now be configured per target cluster. The 4 system properties below are no longer valid.
-
hazelcast.enterprise.wanrep.batch.size, please see the WAN Replication Batch Size. -
hazelcast.enterprise.wanrep.batchfrequency.seconds, please see the WAN Replication Batch Maximum Delay. -
hazelcast.enterprise.wanrep.optimeout.millis, please see the WAN Replication Response Timeout. -
hazelcast.enterprise.wanrep.queue.capacity, please see the WAN Replication Queue Capacity.
-
-
Removal of deprecated getId() method: The method
getId()in the interfaceDistributedObjecthas been removed. Please use the methodgetName()instead. -
Change in the Custom Serialization in the C++ Client Distribution: Before, the method
getTypeId()was used to retrieve the ID of the object to be serialized. Now, the methodgetHazelcastTypeId()is used and you give your object as a parameter to this new method. Also,getTypeId()was used in your custom serializer class, now it has been renamed togetHazelcastTypeId()too. Note that, these changes also apply when you want to switch from Hazelcast 3.6.1 to 3.6.2 too. -
Important note about Hazelcast System Properties: Even Hazelcast has not been recommending the usage of
GroupProperties.javaclass while benefiting from System Properties, there has been a change to inform to the users who have been using this class. Starting with Hazelcast 3.7, the classGroupProperties.javahas been replaced byGroupProperty.java. In this new class, system properties are instances of the newly introducedHazelcastPropertyobject. You can access the names of these properties by callinggetName()method ofHazelcastProperty. -
Removal of WanNoDelayReplication:
WanNoDelayReplicationimplementation of Hazelcast's WAN Replication has been removed starting with Hazelcast 3.7. You can still achieve this behavior by setting the batch size to1while configuring the WanBatchReplication. Please refer to the Defining WAN Replication section for more information. -
Introducing
element : Starting with Hazelcast 3.8, the configuration element<target-cluster>is replaced with the element<wan-publisher>in WAN replication configuration. -
WaitNotifyService interface has been renamed as OperationParker.
-
Synchronizing WAN Target Cluster: Starting with Hazelcast 3.8 release, the URL for the REST call has been changed from
http://member_ip:port/hazelcast/rest/wan/sync/maptohttp://member_ip:port/hazelcast/rest/mancenter/wan/sync/map.
