Hazelcast v4.0.2 Release Notes

Release Date: 2020-08-07 // over 3 years ago
  • ✨ Enhancements

    Introduced the ConfigRecognition API that determines
    🔧 if a provided declarative configuration is recognized by the
    rules defined in a given implementation. [#17093]

    Introduced WAN throttling mechanism: this allows
    the WAN publishers to overload the WAN consumers if transferring the WAN
    events takes less time than processing them in the target cluster. This
    🚤 can be the case with WAN synchronization if the network latency is low
    🔧 enough. It can be configured using the following properties:

    • hazelcast.wan.consumer.invocation.threshold
    • hazelcast.wan.consumer.ack.delay.backoff.init
    • hazelcast.wan.consumer.ack.delay.backoff.max
    • hazelcast.wan.consumer.ack.delay.backoff.multiplier

    👀 See https://github.com/hazelcast/hazelcast/blob/4.0.2/hazelcast/src/main/java/com/hazelcast/spi/properties/ClusterProperty.java#L1112 for their explanations. [#17088]

    ✂ Removed a constraint which was rejecting all the operations
    except the ones marked with AllowedDuringPassiveState while a
    member is shutting down. With this enhancement, operations are allowed
    and this provides additional safety guarantees especially for the members
    holding large amounts of data. [#17029]

    Introduced a packet flag to distinguish between the connections of members
    having the same Hazelcast version and different versions. [#16993]

    ⚡️ Updated pom.xml to have the latest version of the Hazelcast AWS plugin,
    👍 which introduced the support for AWS Fargate. [#16990]

    ➕ Added the load() method to Config, ClientConfig and
    🔧 ClientFailoverConfig classes. This method loads the configuration
    🔧 with the known locations. If not found, the default configuration is returned. [#16903]

    ➕ Added the missing partition/active partition count descriptor constants
    to the metrics. [#16858]

    🛠 Fixes

    • 🛠 Fixed an issue where the split-brain protection events were triggered during the
      startup of members, but before they join the cluster. With this fix,
      these listeners will not be fired until the minimum cluster size (quorum) is met after the
      member startups. [#17090]
    • 🛠 Fixed an issue where the CP client message tasks were deserializing
      the responses. [#17054]
    • 🛠 Fixed the broken interoperability between the CompletableFuture
      methods. [#17048]
    • 🛠 Fixed an issue where the Hazelcast cluster having advanced network
      🔧 configuration was not sending the proper connection information
      to Management Center. [#17003]
    • 🛠 Fixed an issue in the cache service where its pre-join
      operation was considering CacheConfig as resolved: it
      was assuming that key/value types, user customizations and
      🔧 other cache configurations have been loaded. This was an issue
      when the cache is not touched yet. [#16918]
    • 🛠 Fixed an issue where the Hazelcast instances were failing to start
      due to a missing flag for the cluster status. [#16852]
    • ⏪ Reverted the change where Hazelcast was not retrying an invocation if it is sent
      👻 to a specific member and returns the TargetNotMemberException exception. [#16843]
    • 🛠 Fixed an issue where the class definitions, that are registered explicitly in
      🔧 the serialization configuration and have the same class ID in different factories,
      were not handled properly. [#16833]