|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DistributionManager
A component that manages the distribution of elements across a cache cluster
Method Summary | |
---|---|
void |
abortJoin(Address sender)
|
void |
applyRemoteTxLog(List<WriteCommand> modifications)
Applies an ordered list of modifications to the current node. |
void |
applyState(ConsistentHash newConsistentHash,
Map<Object,InternalCacheValue> state,
RemoteTransactionLogger transactionLogger,
boolean forLeave)
|
List<Address> |
getAffectedNodes(Set<Object> affectedKeys)
A helper method that retrieves a list of nodes affected by operations on a set of keys. |
CacheStore |
getCacheStoreForRehashing()
Retrieves a cache store if one is available and set up for use in rehashing. |
ConsistentHash |
getConsistentHash()
Retrieves the consistent hash instance currently in use, which may be an instance of the configured ConsistentHash instance (which defaults to DefaultConsistentHash , or an instance of
UnionConsistentHash if a rehash is in progress. |
DataLocality |
getLocality(Object key)
Returns the data locality characteristics of a given key. |
TopologyInfo |
getTopologyInfo()
|
TransactionLogger |
getTransactionLogger()
Retrieves the transaction logger instance associated with this DistributionManager |
NodeTopologyInfo |
informRehashOnJoin(Address joiner,
boolean starting,
NodeTopologyInfo nodeTopologyInfo)
This will cause all nodes to add the joiner to their consistent hash instance (usually by creating a UnionConsistentHash |
void |
informRehashOnLeave(Address sender)
|
boolean |
isAffectedByRehash(Object key)
Tests whether a given key is affected by a rehash that may be in progress. |
boolean |
isInFinalJoinPhase()
|
boolean |
isJoinComplete()
Tests whether the current instance has completed joining the cluster |
boolean |
isLocal(Object key)
Deprecated. |
boolean |
isRehashInProgress()
Tests whether a rehash is in progress |
List<Address> |
locate(Object key)
Locates a key in a cluster. |
Map<Object,List<Address>> |
locateAll(Collection<Object> keys)
Locates a list of keys in a cluster. |
Map<Object,List<Address>> |
locateAll(Collection<Object> keys,
int numOwners)
Same as locateAll(java.util.Collection) , but the list of addresses only contains numOwners owners. |
Set<Address> |
requestPermissionToJoin(Address joiner)
"Asks" a coordinator if a joiner may join. |
InternalCacheEntry |
retrieveFromRemoteSource(Object key,
InvocationContext ctx)
Retrieves a cache entry from a remote source. |
void |
setConsistentHash(ConsistentHash consistentHash)
Sets the consistent hash implementation in use. |
void |
setJoinComplete(boolean value)
|
void |
setRehashInProgress(boolean value)
|
void |
setTopologyInfo(TopologyInfo ti)
|
void |
transformForL1(CacheEntry entry)
Transforms a cache entry so it is marked for L1 rather than the primary cache data structure. |
void |
waitForFinalJoin()
|
Method Detail |
---|
@Deprecated boolean isLocal(Object key)
getLocality(Object)
instead.
key
- key to test
DataLocality getLocality(Object key)
key
- key to test
List<Address> locate(Object key)
key
- key to test
Map<Object,List<Address>> locateAll(Collection<Object> keys)
locate(Object)
the returned addresses may not be owners
of the keys if a rehash happens to be in progress or is pending, so when querying these servers, invalid responses
should be checked for and the next address checked accordingly.
keys
- list of keys to test
Map<Object,List<Address>> locateAll(Collection<Object> keys, int numOwners)
locateAll(java.util.Collection)
, but the list of addresses only contains numOwners owners.
void transformForL1(CacheEntry entry)
entry
- entry to transformInternalCacheEntry retrieveFromRemoteSource(Object key, InvocationContext ctx) throws Exception
ClusteredGetCommand
and some form of quorum of responses if the responses returned are inconsistent - often the case if there is a
rehash in progress, involving nodes that the key maps to.
key
- key to look upctx
-
Exception
- if something bad happensConsistentHash getConsistentHash()
DefaultConsistentHash
, or an instance of
UnionConsistentHash
if a rehash is in progress.
void setConsistentHash(ConsistentHash consistentHash)
consistentHash
- consistent hash to set toboolean isAffectedByRehash(Object key)
key
- key to test
TransactionLogger getTransactionLogger()
Set<Address> requestPermissionToJoin(Address joiner)
joiner
- joiner who wants to join
NodeTopologyInfo informRehashOnJoin(Address joiner, boolean starting, NodeTopologyInfo nodeTopologyInfo)
UnionConsistentHash
joiner
- address of joinerstarting
- if true, the joiner is reporting that it is starting the join process. If false, the joiner isnodeTopologyInfo
- CacheStore getCacheStoreForRehashing()
boolean isRehashInProgress()
boolean isJoinComplete()
boolean isInFinalJoinPhase()
void waitForFinalJoin()
List<Address> getAffectedNodes(Set<Object> affectedKeys)
locateAll(java.util.Collection)
and then combine the result addresses.
affectedKeys
- keys to locate
void applyRemoteTxLog(List<WriteCommand> modifications)
modifications
- ordered list of modsvoid informRehashOnLeave(Address sender)
void applyState(ConsistentHash newConsistentHash, Map<Object,InternalCacheValue> state, RemoteTransactionLogger transactionLogger, boolean forLeave)
void setRehashInProgress(boolean value)
TopologyInfo getTopologyInfo()
void setJoinComplete(boolean value)
void abortJoin(Address sender)
void setTopologyInfo(TopologyInfo ti)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |