public static class SplitBrainResolver.StaticQuorum extends SplitBrainResolver.Strategy
quorumSize. Otherwise down the reachable nodes, i.e. it will shut down that side of the partition.
In other words, the quorumSize defines the minimum number of nodes that the cluster must have to be operational.
If there are unreachable nodes when starting up the cluster, before reaching this limit,
the cluster may shutdown itself immediately. This is not an issue if you start all nodes at
approximately the same time.
Note that you must not add more members to the cluster than quorumSize * 2 - 1, because then
both sides may down each other and thereby form two separate clusters. For example,
quorum quorumSize configured to 3 in a 6 node cluster may result in a split where each side
consists of 3 nodes each, i.e. each side thinks it has enough nodes to continue by
itself. A warning is logged if this recommendation is violated.
If the role is defined the decision is based only on members with that role.
It is only counting members within the own data center.
| Constructor and Description |
|---|
StaticQuorum(java.lang.String selfDc,
int quorumSize,
scala.Option<java.lang.String> role) |
| Modifier and Type | Method and Description |
|---|---|
SplitBrainResolver.Decision |
decide() |
boolean |
isTooManyMembers() |
int |
quorumSize() |
scala.Option<java.lang.String> |
role() |
add, addReachable, addUnreachable, allMembersInDC, hasIndirectlyConnected, indirectlyConnected, isAllUnreachableDownOrExiting, joining, lease, members, members, membersWithRole, membersWithRole, nodesToDown, nodesToDown$default$1, ordering, reachability, reachableMembers, reachableMembers, reachableMembersWithRole, reachableMembersWithRole, remove, reverseDecision, seenBy, selfDc, setReachability, setSeenBy, unreachable, unreachable, unreachableButNotIndirectlyConnected, unreachableMembers, unreachableMembers, unreachableMembersWithRole, unreachableMembersWithRolepublic StaticQuorum(java.lang.String selfDc,
int quorumSize,
scala.Option<java.lang.String> role)
public SplitBrainResolver.Decision decide()
decide in class SplitBrainResolver.Strategypublic boolean isTooManyMembers()
public int quorumSize()
public scala.Option<java.lang.String> role()
role in class SplitBrainResolver.Strategy