|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.infinispan.distribution.DistributionManagerImpl
public class DistributionManagerImpl
The default distribution manager implementation
Constructor Summary | |
---|---|
DistributionManagerImpl()
Default constructor |
Method Summary | |
---|---|
Collection<Address> |
getAffectedNodes(Collection<Object> affectedKeys)
A helper method that retrieves a list of nodes affected by operations on a set of keys. |
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. |
Address |
getPrimaryLocation(Object key)
Returns the first Address containing the key. |
void |
init(Configuration configuration,
RpcManager rpcManager,
CommandsFactory cf,
CacheNotifier cacheNotifier,
StateTransferManager stateTransferManager)
|
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 |
isLocatedLocally(String key)
|
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 DistributionManager.locateAll(java.util.Collection) , but the list of addresses only contains numOwners owners. |
List<String> |
locateKey(String key)
|
InternalCacheEntry |
retrieveFromRemoteSource(Object key,
InvocationContext ctx,
boolean acquireRemoteLock)
Retrieves a cache entry from a remote source. |
ConsistentHash |
setConsistentHash(ConsistentHash newCH)
Sets the consistent hash implementation in use. |
String |
toString()
|
void |
transformForL1(CacheEntry entry)
Transforms a cache entry so it is marked for L1 rather than the primary cache data structure. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DistributionManagerImpl()
Method Detail |
---|
public void init(Configuration configuration, RpcManager rpcManager, CommandsFactory cf, CacheNotifier cacheNotifier, StateTransferManager stateTransferManager)
@Deprecated public boolean isLocal(Object key)
DistributionManager
DistributionManager.getLocality(Object)
instead.
isLocal
in interface DistributionManager
key
- key to test
public DataLocality getLocality(Object key)
DistributionManager
getLocality
in interface DistributionManager
key
- key to test
public List<Address> locate(Object key)
DistributionManager
locate
in interface DistributionManager
key
- key to test
public Address getPrimaryLocation(Object key)
DistributionManager
DistributionManager.locate(Object)
getPrimaryLocation
in interface DistributionManager
key
- key to test
public Map<Object,List<Address>> locateAll(Collection<Object> keys)
DistributionManager
DistributionManager.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.
locateAll
in interface DistributionManager
keys
- list of keys to test
public Map<Object,List<Address>> locateAll(Collection<Object> keys, int numOwners)
DistributionManager
DistributionManager.locateAll(java.util.Collection)
, but the list of addresses only contains numOwners owners.
locateAll
in interface DistributionManager
public void transformForL1(CacheEntry entry)
DistributionManager
transformForL1
in interface DistributionManager
entry
- entry to transformpublic InternalCacheEntry retrieveFromRemoteSource(Object key, InvocationContext ctx, boolean acquireRemoteLock) throws Exception
DistributionManager
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.
retrieveFromRemoteSource
in interface DistributionManager
key
- key to look up
Exception
public ConsistentHash getConsistentHash()
DistributionManager
DefaultConsistentHash
.
getConsistentHash
in interface DistributionManager
public ConsistentHash setConsistentHash(ConsistentHash newCH)
DistributionManager
setConsistentHash
in interface DistributionManager
newCH
- consistent hash to set to
public boolean isAffectedByRehash(Object key)
DistributionManager
isAffectedByRehash
in interface DistributionManager
key
- key to test
public boolean isRehashInProgress()
isRehashInProgress
in interface DistributionManager
public boolean isJoinComplete()
DistributionManager
isJoinComplete
in interface DistributionManager
public Collection<Address> getAffectedNodes(Collection<Object> affectedKeys)
DistributionManager
DistributionManager.locateAll(java.util.Collection)
and then combine the result addresses.
getAffectedNodes
in interface DistributionManager
affectedKeys
- keys to locate
public boolean isLocatedLocally(String key)
public List<String> locateKey(String key)
public String toString()
toString
in class Object
|
--> | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |