public class LocalTopologyManagerImpl extends Object implements LocalTopologyManager
LocalTopologyManager
implementation.Constructor and Description |
---|
LocalTopologyManagerImpl() |
Modifier and Type | Method and Description |
---|---|
void |
confirmRebalance(String cacheName,
int topologyId,
Throwable throwable)
Confirm that the local cache
cacheName has finished receiving the new data for topology
topologyId . |
CacheTopology |
getCacheTopology(String cacheName) |
void |
handleConsistentHashUpdate(String cacheName,
CacheTopology cacheTopology,
int viewId)
Updates the current and/or pending consistent hash, without transferring any state.
|
void |
handleRebalance(String cacheName,
CacheTopology cacheTopology,
int viewId)
Performs the state transfer.
|
Map<String,Object[]> |
handleStatusRequest(int viewId)
Recovers the current topology information for all running caches and returns it to the coordinator.
|
void |
inject(Transport transport,
ExecutorService asyncTransportExecutor,
GlobalComponentRegistry gcr,
TimeService timeService) |
boolean |
isRebalancingEnabled() |
CacheTopology |
join(String cacheName,
CacheJoinInfo joinInfo,
CacheTopologyHandler stm)
Forwards the join request to the coordinator.
|
void |
leave(String cacheName)
Forwards the leave request to the coordinator.
|
void |
setRebalancingEnabled(boolean enabled) |
void |
start() |
void |
stop() |
public void inject(Transport transport, ExecutorService asyncTransportExecutor, GlobalComponentRegistry gcr, TimeService timeService)
public void start()
public void stop()
public CacheTopology join(String cacheName, CacheJoinInfo joinInfo, CacheTopologyHandler stm) throws Exception
LocalTopologyManager
join
in interface LocalTopologyManager
Exception
public void leave(String cacheName)
LocalTopologyManager
leave
in interface LocalTopologyManager
public void confirmRebalance(String cacheName, int topologyId, Throwable throwable)
LocalTopologyManager
cacheName
has finished receiving the new data for topology
topologyId
.
The coordinator can change during the state transfer, so we make the rebalance RPC async and we send the response as a different command.
confirmRebalance
in interface LocalTopologyManager
cacheName
- the name of the cachetopologyId
- the current topology id of the node at the time the rebalance is completed. This must be >= than the one when rebalance starts.throwable
- null
unless local rebalance ended because of an error.public Map<String,Object[]> handleStatusRequest(int viewId)
LocalTopologyManager
handleStatusRequest
in interface LocalTopologyManager
public void handleConsistentHashUpdate(String cacheName, CacheTopology cacheTopology, int viewId) throws InterruptedException
LocalTopologyManager
handleConsistentHashUpdate
in interface LocalTopologyManager
InterruptedException
public void handleRebalance(String cacheName, CacheTopology cacheTopology, int viewId) throws InterruptedException
LocalTopologyManager
handleRebalance
in interface LocalTopologyManager
InterruptedException
public CacheTopology getCacheTopology(String cacheName)
getCacheTopology
in interface LocalTopologyManager
Copyright © 2014 JBoss, a division of Red Hat. All Rights Reserved.