public static class ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy extends ConfigurableQuorumPolicy.MembershipQuorumPolicy
Modifier and Type | Class and Description |
---|---|
static class |
ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.ActionRule
Action Rules for
ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy |
static class |
ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.Notification
Notification is a simple struct carrying the notification info.
|
ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumListener, ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule
ConfigurableQuorumPolicy.ClusterQuorumPolicy, ConfigurableQuorumPolicy.MembershipQuorumPolicy, ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy, ConfigurableQuorumPolicy.ProxyQuorumPolicy
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
protected AddressProvider |
m_apRecovery
The recovery address-provider.
|
protected boolean |
m_fDynamic
If set to true, indicates a dynamic active recovery strategy.
|
protected long |
m_ldtLastReport
The last time disallowed actions were reported.
|
static int |
MASK_DISTRIBUTION
Bitmask used to encode a distribution action.
|
protected static int |
MASK_LAST
The highest used bitmask value.
|
static int |
MASK_READ
Bitmask used to encode a read action.
|
static int |
MASK_RECOVER
Bitmask used to encode a recover action.
|
static int |
MASK_RESTORE
Bitmask used to encode a partition restore action.
|
static int |
MASK_WRITE
Bitmask used to encode a write action.
|
m_aRules, m_ruleCurrent, m_service, m_setLeaving
Constructor and Description |
---|
PartitionedCacheQuorumPolicy(ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule[] aRule,
AddressProvider provider)
Construct a PartitionedCacheQuorumPolicy with the specified rule.
|
Modifier and Type | Method and Description |
---|---|
protected static int |
calculateMinimumNodeCount(Set<Member> setMembers)
Given a set of Member objects, calculate the minimum number of nodes
on a single machine.
|
protected int |
calculateMinThreshold(int cLast)
Calculate the minimum number of storage enabled nodes necessary to
proceed with the service recovery.
|
protected List<ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.Notification> |
checkRecoveryMembership(PartitionedService.PartitionRecoveryAction action)
Check if the recovery is allowed for the current membership.
|
protected String |
getActionName(int nMask)
Return the string description of the given rule mask.
|
protected Set |
getOwnershipMemberSet()
Return the set of ownership-enabled members in the associated
PartitionedService.
|
int |
getPolicyPopulation()
Calculate and return the current size of the member set that contributes
to the quorum for this policy domain.
|
PartitionedService |
getService()
Return the associated PartitionedService.
|
String |
getStatusDescription()
Return a String that describes the current Quorum state.
|
boolean |
isAllowed(Service service,
Action action)
Evaluate if the specified action is currently allowed by this policy.
|
protected void |
reportDisallowedAction(int nMaskDisallowed,
List<ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.Notification> listReasons)
Report all disallowed actions if the quorum rule has changed.
|
protected static String |
reportLastOwnership(PartitionSet parts,
com.tangosol.net.internal.QuorumInfo info)
Report the machine names in the "last good" membership that owned
the specified partitions.
|
protected void |
updateCurrentRule()
Update the currently applicable quorum rule, possibly changing it to
reflect growth or shrinkage of the membership size.
|
configure, getCurrentRule, getLeavingMembers, getQuorumRules, init, instantiateMemberListener, setCurrentRule, setQuorumRules, setService, toString
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
public static final int MASK_DISTRIBUTION
public static final int MASK_RESTORE
public static final int MASK_READ
public static final int MASK_WRITE
public static final int MASK_RECOVER
protected static final int MASK_LAST
protected AddressProvider m_apRecovery
protected long m_ldtLastReport
protected boolean m_fDynamic
public PartitionedCacheQuorumPolicy(ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule[] aRule, AddressProvider provider)
aRule
- the quorum ruleprovider
- the recovery address-providerprotected Set getOwnershipMemberSet()
public PartitionedService getService()
getService
in class ConfigurableQuorumPolicy.MembershipQuorumPolicy
protected List<ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.Notification> checkRecoveryMembership(PartitionedService.PartitionRecoveryAction action)
protected int calculateMinThreshold(int cLast)
cLast
- the "last well-formed" member set sizeprotected static String reportLastOwnership(PartitionSet parts, com.tangosol.net.internal.QuorumInfo info)
parts
- the partitions to reportinfo
- the QuorumInfo containing the "last good" membership dataprotected static int calculateMinimumNodeCount(Set<Member> setMembers)
setMembers
- the member setpublic String getStatusDescription()
getStatusDescription
in class ConfigurableQuorumPolicy
public int getPolicyPopulation()
Note: The quorum for PartitionedService is determined by the ownership-enabled members only.
getPolicyPopulation
in class ConfigurableQuorumPolicy.MembershipQuorumPolicy
public boolean isAllowed(Service service, Action action)
Note: for forward compatibility, implementations should generally return true for actions that are not recognized.
service
- the service that is performing the actionaction
- the action that is being performedprotected void updateCurrentRule()
ConfigurableQuorumPolicy.MembershipQuorumPolicy
updateCurrentRule
in class ConfigurableQuorumPolicy.MembershipQuorumPolicy
protected void reportDisallowedAction(int nMaskDisallowed, List<ConfigurableQuorumPolicy.PartitionedCacheQuorumPolicy.Notification> listReasons)
nMaskDisallowed
- a mask of the disallowed actionlistReasons
- (optional) a list of rejection reasonsprotected String getActionName(int nMask)
nMask
- the bitmask