public static class ConfigurableQuorumPolicy.ClusterQuorumPolicy extends ConfigurableQuorumPolicy implements ActionPolicy
ConfigurableQuorumPolicy.ClusterQuorumPolicy, ConfigurableQuorumPolicy.MembershipQuorumPolicy, ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy, ConfigurableQuorumPolicy.ProxyQuorumPolicy
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
protected Map<String,Integer> |
m_mapQuorumByRole
The cluster membership quorum map, keyed by role name.
|
protected Service |
m_service
The cluster service.
|
static String |
MACHINES
The role prefix to use for the "timeout-machine-quorum".
|
static String |
ROLE_ALL
The role identifier to use for matching any cluster members.
|
static String |
SITES
The role prefix to use for the "timeout-site-quorum".
|
Modifier | Constructor and Description |
---|---|
protected |
ClusterQuorumPolicy(Map<String,Integer> mapQuorum)
Construct a ClusterQuorumPolicy with the specified quorum map.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkMachineQuorum(int cQuorum,
Set<Member> setMembers,
Set<Member> setTimedOut,
Set<Member> setHealthy,
Set<Member> setAnnouncing)
Check whether the machine quorum for the specified role will be
satisfied if the set of suspect members is disconnected from the
cluster, given the sets of "healthy" and "announcing" members.
|
protected boolean |
checkRoleQuorum(int cQuorum,
Set setMembers,
Set setTimedOut,
Set setHealthy,
Set setAnnouncing)
Check whether the member quorum for the specified role will be
satisfied if the set of suspect members is disconnected from the
cluster, given the sets of "healthy" and "announcing" members.
|
protected boolean |
checkSiteQuorum(int cQuorum,
Set<Member> setMembers,
Set<Member> setTimedOut,
Set<Member> setHealthy,
Set<Member> setAnnouncing)
Check whether the site quorum for the specified role will be
satisfied if the set of suspect members is disconnected from the
cluster, given the sets of "healthy" and "announcing" members.
|
protected Set |
ensureSet(Set set)
Return the specified set, or an empty set if null.
|
protected Map<String,Integer> |
getClusterQuorumMap()
Return the cluster quorum map, keyed by role name.
|
Service |
getService()
Return the Cluster service.
|
String |
getStatusDescription()
Return a String that describes the current Quorum state.
|
protected Map<String,Set<Member>> |
groupMembersByRole(Set<Member> setMembers)
Group the specified set of Members by their roles.
|
void |
init(Service service)
Called when the specified service loads and configures this policy.
|
boolean |
isAllowed(Service service,
Action action)
Evaluate if the specified action is currently allowed by this policy.
|
protected void |
setClusterQuorumMap(Map mapQuorumByRole)
Set the cluster quorum map, keyed by role name.
|
void |
setService(Service service)
Set the Cluster service.
|
instantiateClusterPolicy, instantiatePartitionedCachePolicy, instantiateProxyPolicy
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toString
public static final String ROLE_ALL
public static final String SITES
public static final String MACHINES
protected Service m_service
protected Map<String,Integer> getClusterQuorumMap()
protected void setClusterQuorumMap(Map mapQuorumByRole)
mapQuorumByRole
- the cluster quorum mappublic Service getService()
public void setService(Service service)
service
- the Cluster servicepublic String getStatusDescription()
getStatusDescription
in class ConfigurableQuorumPolicy
protected Set ensureSet(Set set)
set
- the set to ensure, or nullprotected Map<String,Set<Member>> groupMembersByRole(Set<Member> setMembers)
setMembers
- the set of Membersprotected boolean checkSiteQuorum(int cQuorum, Set<Member> setMembers, Set<Member> setTimedOut, Set<Member> setHealthy, Set<Member> setAnnouncing)
setMembers
- the set of cluster members in the specified rolesetTimedOut
- the subset of cluster members in the specified
role that are timed-out. A member is considered
timed-out if it has not responded to some
network communications within the configured
timeout, and it has been selected for
terminationsetHealthy
- the subset of cluster members in the specified
role that are known to be "healthy". A member
is "healthy" if it has been "recently" heard fromsetAnnouncing
- the set of potential new cluster members in the
specified role that are announcing their
presence and waiting to join the clusterprotected boolean checkMachineQuorum(int cQuorum, Set<Member> setMembers, Set<Member> setTimedOut, Set<Member> setHealthy, Set<Member> setAnnouncing)
setMembers
- the set of cluster members in the specified rolesetTimedOut
- the subset of cluster members in the specified
role that are timed-out. A member is considered
timed-out if it has not responded to some
network communications within the configured
timeout, and it has been selected for
terminationsetHealthy
- the subset of cluster members in the specified
role that are known to be "healthy". A member
is "healthy" if it has been "recently" heard fromsetAnnouncing
- the set of potential new cluster members in the
specified role that are announcing their
presence and waiting to join the clusterprotected boolean checkRoleQuorum(int cQuorum, Set setMembers, Set setTimedOut, Set setHealthy, Set setAnnouncing)
setMembers
- the set of cluster members in the specified rolesetTimedOut
- the subset of cluster members in the specified
role that are timed-out. A member is considered
timed-out if it has not responded to some
network communications within the configured
timeout, and it has been selected for
terminationsetHealthy
- the subset of cluster members in the specified
role that are known to be "healthy". A member
is "healthy" if it has been "recently" heard fromsetAnnouncing
- the set of potential new cluster members in the
specified role that are announcing their
presence and waiting to join the clusterpublic void init(Service service)
Note: A policy could be applied to multiple services.
init
in interface ActionPolicy
service
- the service that this policy applies topublic boolean isAllowed(Service service, Action action)
Note: for forward compatibility, implementations should generally return true for actions that are not recognized.
isAllowed
in interface ActionPolicy
service
- the service that is performing the actionaction
- the action that is being performed