|
||||||||||
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 |
applyRemoteTxLog(List<WriteCommand> modifications)
Applies an ordered list of modifications to the current node. |
void |
applyState(ConsistentHash newConsistentHash,
Map<Object,InternalCacheValue> state,
Address sender,
int viewId)
|
Collection<Address> |
getAffectedNodes(Collection<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, an instance of the configured ConsistentHash class (which defaults to DefaultConsistentHash . |
DataLocality |
getLocality(Object key)
Returns the data locality characteristics of a given key. |
TransactionLogger |
getTransactionLogger()
Retrieves the transaction logger instance associated with this DistributionManager |
boolean |
isAffectedByRehash(Object key)
Tests whether a given key is affected by a rehash that may be in progress. |
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. |
void |
markNodePushCompleted(int viewId,
Address node)
|
void |
markRehashCompleted(int viewId)
|
void |
markRehashTaskCompleted()
|
void |
notifyCoordinatorPushCompleted(int viewId)
|
InternalCacheEntry |
retrieveFromRemoteSource(Object key,
InvocationContext ctx)
Retrieves a cache entry from a remote source. |
ConsistentHash |
setConsistentHash(ConsistentHash consistentHash)
Sets the consistent hash implementation in use. |
void |
transformForL1(CacheEntry entry)
Transforms a cache entry so it is marked for L1 rather than the primary cache data structure. |
void |
waitForJoinToComplete()
|
boolean |
waitForRehashToComplete(int viewId)
Wait until the cluster-wide rehash for view viewId has finished. |
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
.
ConsistentHash setConsistentHash(ConsistentHash consistentHash)
consistentHash
- consistent hash to set to
boolean isAffectedByRehash(Object key)
key
- key to test
TransactionLogger getTransactionLogger()
CacheStore getCacheStoreForRehashing()
boolean isRehashInProgress()
boolean isJoinComplete()
Collection<Address> getAffectedNodes(Collection<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 applyState(ConsistentHash newConsistentHash, Map<Object,InternalCacheValue> state, Address sender, int viewId) throws InterruptedException
InterruptedException
void markRehashCompleted(int viewId) throws InterruptedException
InterruptedException
void markNodePushCompleted(int viewId, Address node) throws InterruptedException
InterruptedException
void notifyCoordinatorPushCompleted(int viewId) throws Exception
Exception
boolean waitForRehashToComplete(int viewId) throws InterruptedException, TimeoutException
viewId
has finished.
InterruptedException
TimeoutException
void markRehashTaskCompleted()
void waitForJoinToComplete() throws InterruptedException
InterruptedException
|
--> | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |