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 |
m_mapQuorumByRole
The cluster membership quorum map, keyed by role name.
|
protected Service |
m_service
The cluster service.
|
static String |
ROLE_ALL
The role identifier to use for matching any cluster members.
|
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 |
checkRoleQuorum(String sRole, Set setMembers, Set setTimedOut, Set setHealthy, Set setAnnouncing)
Check whether the cluster 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 |
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 |
groupMembersByRole(Set 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, 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, 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
protected Service m_service
protected Map m_mapQuorumByRole
protected Map 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 groupMembersByRole(Set setMembers)
setMembers
- the set of Membersprotected boolean checkRoleQuorum(String sRole, Set setMembers, Set setTimedOut, Set setHealthy, Set setAnnouncing)
sRole
- the configured role name, or ROLE_ANY if none was configuredsetMembers
- 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