public class GridCacheAffinityManager extends GridCacheManagerAdapter
cctx, log| Constructor and Description |
|---|
GridCacheAffinityManager() |
| Modifier and Type | Method and Description |
|---|---|
IgniteInternalFuture<AffinityTopologyVersion> |
affinityReadyFuture(AffinityTopologyVersion topVer)
Gets affinity ready future, a future that will be completed after affinity with given
topology version is calculated.
|
IgniteInternalFuture<AffinityTopologyVersion> |
affinityReadyFuture(long topVer)
Gets affinity ready future, a future that will be completed after affinity with given
topology version is calculated.
|
IgniteInternalFuture<AffinityTopologyVersion> |
affinityReadyFuturex(AffinityTopologyVersion topVer)
Gets affinity ready future that will be completed after affinity with given topology version is calculated.
|
AffinityTopologyVersion |
affinityTopologyVersion() |
List<List<ClusterNode>> |
assignments(AffinityTopologyVersion topVer) |
Set<Integer> |
backupPartitions(UUID nodeId,
AffinityTopologyVersion topVer) |
Collection<ClusterNode> |
backups(int part,
AffinityTopologyVersion topVer) |
Collection<ClusterNode> |
backups(Object key,
AffinityTopologyVersion topVer) |
boolean |
belongs(ClusterNode node,
int part,
AffinityTopologyVersion topVer) |
List<List<ClusterNode>> |
calculateAffinity(AffinityTopologyVersion topVer,
DiscoveryEvent discoEvt)
Calculates affinity cache for given topology version.
|
void |
cleanUpCache(AffinityTopologyVersion topVer)
Clean up outdated cache items.
|
void |
clientEventTopologyChange(DiscoveryEvent evt,
AffinityTopologyVersion topVer)
Copies previous affinity assignment when discovery event does not cause affinity assignment changes
(e.g. client node joins on leaves).
|
void |
initializeAffinity(AffinityTopologyVersion topVer,
List<List<ClusterNode>> affAssignment)
Initializes affinity for joined node.
|
boolean |
localNode(int part,
AffinityTopologyVersion topVer) |
boolean |
localNode(Object key,
AffinityTopologyVersion topVer) |
List<ClusterNode> |
nodes(int part,
AffinityTopologyVersion topVer) |
List<ClusterNode> |
nodes(Object key,
AffinityTopologyVersion topVer) |
void |
onDisconnected(IgniteFuture reconnectFut) |
protected void |
onKernalStart0() |
protected void |
onKernalStop0(boolean cancel) |
void |
onReconnected() |
int |
partition(Object key)
NOTE: Use this method always when you need to calculate partition id for
a key provided by user.
|
int |
partitions() |
boolean |
primary(ClusterNode n,
int part,
AffinityTopologyVersion topVer) |
boolean |
primary(ClusterNode n,
Object key,
AffinityTopologyVersion topVer) |
ClusterNode |
primary(int part,
AffinityTopologyVersion topVer) |
ClusterNode |
primary(Object key,
AffinityTopologyVersion topVer) |
Set<Integer> |
primaryPartitions(UUID nodeId,
AffinityTopologyVersion topVer) |
Collection<ClusterNode> |
remoteNodes(Iterable keys,
AffinityTopologyVersion topVer) |
void |
start0() |
protected void |
stop0(boolean cancel) |
context, kernalStartInfo, kernalStopInfo, log, onKernalStart, onKernalStop, printMemoryStats, start, startInfo, stop, stopInfo, toStringpublic void start0()
throws IgniteCheckedException
start0 in class GridCacheManagerAdapterIgniteCheckedException - If failed.protected void onKernalStart0()
throws IgniteCheckedException
onKernalStart0 in class GridCacheManagerAdapterIgniteCheckedException - If failed.protected void onKernalStop0(boolean cancel)
onKernalStop0 in class GridCacheManagerAdaptercancel - Cancel flag.public void onDisconnected(IgniteFuture reconnectFut)
onDisconnected in interface GridCacheManageronDisconnected in class GridCacheManagerAdapterreconnectFut - Reconnect future.public void onReconnected()
protected void stop0(boolean cancel)
stop0 in class GridCacheManagerAdaptercancel - Cancel flag.public IgniteInternalFuture<AffinityTopologyVersion> affinityReadyFuture(long topVer)
topVer - Topology version to wait.public IgniteInternalFuture<AffinityTopologyVersion> affinityReadyFuture(AffinityTopologyVersion topVer)
topVer - Topology version to wait.@Nullable public IgniteInternalFuture<AffinityTopologyVersion> affinityReadyFuturex(AffinityTopologyVersion topVer)
null if topology with given version is ready by the moment method is invoked.topVer - Topology version to wait.null.public void cleanUpCache(AffinityTopologyVersion topVer)
topVer - Actual topology version, older versions will be removed.public void initializeAffinity(AffinityTopologyVersion topVer, List<List<ClusterNode>> affAssignment)
topVer - Topology version.affAssignment - Affinity assignment for this topology version.public List<List<ClusterNode>> assignments(AffinityTopologyVersion topVer)
topVer - Topology version.public List<List<ClusterNode>> calculateAffinity(AffinityTopologyVersion topVer, DiscoveryEvent discoEvt)
topVer - Topology version to calculate affinity for.discoEvt - Discovery event that causes this topology change.public void clientEventTopologyChange(DiscoveryEvent evt, AffinityTopologyVersion topVer)
evt - Event.topVer - Topology version.public int partitions()
public int partition(Object key)
key - Key.public List<ClusterNode> nodes(Object key, AffinityTopologyVersion topVer)
key - Key.topVer - Topology version.public List<ClusterNode> nodes(int part, AffinityTopologyVersion topVer)
part - Partition.topVer - Topology version.@Nullable public ClusterNode primary(Object key, AffinityTopologyVersion topVer)
key - Key to check.topVer - Topology version.@Nullable public ClusterNode primary(int part, AffinityTopologyVersion topVer)
part - Partition.topVer - Topology version.public boolean primary(ClusterNode n, Object key, AffinityTopologyVersion topVer)
n - Node to check.key - Key to check.topVer - Topology version.True if checked node is primary for given key.public boolean primary(ClusterNode n, int part, AffinityTopologyVersion topVer)
n - Node to check.part - Partition.topVer - Topology version.True if checked node is primary for given key.public Collection<ClusterNode> backups(Object key, AffinityTopologyVersion topVer)
key - Key to check.topVer - Topology version.public Collection<ClusterNode> backups(int part, AffinityTopologyVersion topVer)
part - Partition.topVer - Topology version.public Collection<ClusterNode> remoteNodes(Iterable keys, AffinityTopologyVersion topVer)
keys - keys.topVer - Topology version.public boolean localNode(Object key, AffinityTopologyVersion topVer)
key - Key to check.topVer - Topology version.true if given key belongs to local node.public boolean localNode(int part,
AffinityTopologyVersion topVer)
part - Partition number to check.topVer - Topology version.true if given partition belongs to local node.public boolean belongs(ClusterNode node, int part, AffinityTopologyVersion topVer)
node - Node.part - Partition number to check.topVer - Topology version.true if given partition belongs to specified node.public Set<Integer> primaryPartitions(UUID nodeId, AffinityTopologyVersion topVer)
nodeId - Node ID.topVer - Topology version to calculate affinity.public Set<Integer> backupPartitions(UUID nodeId, AffinityTopologyVersion topVer)
nodeId - Node ID.topVer - Topology version to calculate affinity.public AffinityTopologyVersion affinityTopologyVersion()
Follow @ApacheIgnite
Ignite Fabric : ver. 1.4.0 Release Date : September 24 2015