1. https://appdevelopermagazine.com/enterprise
  2. https://appdevelopermagazine.com/hazelcast-introduces-a-flake-id-generator-in-imdg-3.10-/
5/2/2018 8:57:57 AM
Hazelcast introduces a Flake ID Generator in IMDG 3.10
Data Structures,CRDT,Split-Brain Detection
App Developer Magazine
Hazelcast introduces a Flake ID Generator in IMDG 3.10


Hazelcast introduces a Flake ID Generator in IMDG 3.10

Wednesday, May 2, 2018

Richard Harris Richard Harris

Hazelcast IMDG's latest version 3.10 provides users with new split-brain protections, a Flake ID Generator, CRDT Counters, and more.

Hazelcast has announced that Hazelcast IMDG 3.10 is generally available as a production ready build. Major themes, which have been driven by open source community input, include the release of a conflict-free replicated data type (CRDT), a Flake ID Generator and several split-brain protection enhancements.

IMDG 3.10 is the first version of Hazelcast IMDG to include a CRDT implementation - CRDT PN-Counter (positive-negative counter). CRDT is a specially-designed data structure used to achieve strong eventual consistency. With this new data structure, updates are local on a Hazelcast member. The CRDT PN-Counter allows counting (increment/decrement/query) operations and guarantees that, once all members are connected, the value on all counters is the same. Since operations are local, the CRDT PN-Counter provides consistent low latency and high throughput enabling applications to achieve high performance regardless of load (such as counting likes, page views or connected user count). Additional CRDT data structures will follow in future releases.

IMDG 3.10 also introduces the Hazelcast Flake ID Generator, a tool used to generate cluster-wide unique identifiers. In single-node systems, unique ID generation is a relatively straightforward process. However, problems can occur in distributed implementations, for example preserving uniqueness, eliminating contention, and maintaining safety during failures. The Hazelcast Flake ID Generator replaces the existing ID Generator. It generates IDs without coordination between Hazelcast members, meaning it can generate unique IDs even during split-brain and network partitioning failures.

Flake ID Generator community chatter

In response to community feedback about split-brain protection and overall split-brain functionality, users can now apply different levels of severity to split-brain protection. Previously protection acted on information regarding the number of members currently observed. To improve this and provide better protection, split-brain protection now acts on additional information such as member heartbeats, membership changes, lost ICMP pings as well as successful pings following a lost ping. IMDG 3.10 includes numerous split-brain enhancements which provide better protection to structures during split-brain, consequently minimizing inconsistent reads or writes.

Greg Luck, CEO of Hazelcast, said: “A major reason why we are adopted by open source projects and developers is because we listen to community feedback and act upon it. This new release is a testament to the strength of our community following and the quality advice we receive from it. This release brings the fastest split-brain detection, protection against mutation across almost all data structures during split brain and comprehensive healing across almost all data structures. To cap all that off, we have added some conflict-free data structures such as Flake IDs for ID generation, and CRDT Counters, as a conflict free alternative to AtomicLong.”

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.


  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here