Class SplitBrainProtectionConfig

java.lang.Object
com.hazelcast.config.SplitBrainProtectionConfig
All Implemented Interfaces:
NamedConfig, DataSerializable, IdentifiedDataSerializable

public class SplitBrainProtectionConfig extends Object implements IdentifiedDataSerializable, NamedConfig
Configuration for cluster split brain protection, a means to protect consistency of data from network partitions. In this context, split brain protection refers to the number of members in the cluster required for an operation to succeed.

Since Hazelcast 3.5, the default built-in split brain protection implementation keeps track of the number of members in the cluster, as determined by Hazelcast's cluster membership management.

Since Hazelcast 3.10, two additional built-in split brain protection implementations, decoupled from the existing cluster membership management, are provided:

  • Probabilistic split brain protection: in this mode, member heartbeats are tracked and an adaptive failure detector determines for each member the suspicion level. Additionally, when the Hazelcast member is configured with the ICMP ping failure detector enabled and operating in parallel mode, ping information is also used to detect member failures early.

    To create a SplitBrainProtectionConfig for probabilistic split brain protection, use newProbabilisticSplitBrainProtectionConfigBuilder(String, int) to configure and build the SplitBrainProtectionConfig.

  • Recently-active split brain protection: in this mode, for a member to be considered present for split brain protection, a heartbeat must be received within the configured time-window since now. Additionally, when the Hazelcast member is configured with the ICMP ping failure detector enabled and operating in parallel mode, ping information is also used to detect member failures early.

    To create a SplitBrainProtectionConfig for recently-active split brain protection, use newRecentlyActiveSplitBrainProtectionConfigBuilder(String, int, int) to configure and build the SplitBrainProtectionConfig.

See Also: