public class LocalTopologyManagerImpl extends Object implements LocalTopologyManager, GlobalStateProvider
LocalTopologyManager implementation.| Constructor and Description |
|---|
LocalTopologyManagerImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
confirmRebalance(String cacheName,
int topologyId,
int rebalanceId,
Throwable throwable)
Confirm that the local cache
cacheName has finished receiving the new data for topology
topologyId. |
protected void |
doHandleRebalance(int viewId,
org.infinispan.topology.LocalCacheStatus cacheStatus,
CacheTopology cacheTopology,
String cacheName,
Address sender) |
protected void |
doHandleStableTopologyUpdate(String cacheName,
CacheTopology newStableTopology,
int viewId,
Address sender,
org.infinispan.topology.LocalCacheStatus cacheStatus) |
protected boolean |
doHandleTopologyUpdate(String cacheName,
CacheTopology cacheTopology,
AvailabilityMode availabilityMode,
int viewId,
Address sender,
org.infinispan.topology.LocalCacheStatus cacheStatus)
Update the cache topology in the LocalCacheStatus and pass it to the CacheTopologyHandler.
|
AvailabilityMode |
getCacheAvailability(String cacheName)
Retrieves the availability state of a cache.
|
CacheTopology |
getCacheTopology(String cacheName) |
String |
getClusterAvailability() |
PersistentUUID |
getPersistentUUID()
Returns the local UUID of this node.
|
RebalancingStatus |
getRebalancingStatus(String cacheName)
Retrieve the rebalancing status for the specified cache
|
CacheTopology |
getStableCacheTopology(String cacheName) |
void |
handleRebalance(String cacheName,
CacheTopology cacheTopology,
int viewId,
Address sender)
Performs the state transfer.
|
void |
handleStableTopologyUpdate(String cacheName,
CacheTopology newStableTopology,
Address sender,
int viewId)
Update the stable cache topology.
|
ManagerStatusResponse |
handleStatusRequest(int viewId)
Recovers the current topology information for all running caches and returns it to the coordinator.
|
void |
handleTopologyUpdate(String cacheName,
CacheTopology cacheTopology,
AvailabilityMode availabilityMode,
int viewId,
Address sender)
Updates the current and/or pending consistent hash, without transferring any state.
|
void |
inject(Transport transport,
ExecutorService asyncTransportExecutor,
GlobalComponentRegistry gcr,
TimeService timeService,
GlobalStateManager globalStateManager) |
boolean |
isCacheRebalancingEnabled(String cacheName)
Checks whether rebalancing is enabled for the specified cache.
|
boolean |
isRebalancingEnabled()
Checks whether rebalancing is enabled for the entire cluster.
|
boolean |
isTotalOrderCache(String cacheName)
Checks if the cache defined by
cacheName is using total order. |
CacheTopology |
join(String cacheName,
CacheJoinInfo joinInfo,
CacheTopologyHandler stm,
PartitionHandlingManager phm)
Forwards the join request to the coordinator.
|
void |
leave(String cacheName)
Forwards the leave request to the coordinator.
|
void |
prepareForPersist(ScopedPersistentState state)
This method is invoked by the
GlobalStateManager just before
persisting the global state |
void |
prepareForRestore(ScopedPersistentState state)
This method is invoked by the
GlobalStateManager after starting up to notify
that global state has been restored. |
void |
setCacheAvailability(String cacheName,
AvailabilityMode availabilityMode)
Updates the availability state of a cache (for the entire cluster).
|
void |
setCacheRebalancingEnabled(String cacheName,
boolean enabled)
Enable or disable rebalancing for the specified cache.
|
void |
setRebalancingEnabled(boolean enabled)
Enable or disable rebalancing in the entire cluster.
|
void |
start() |
void |
stop() |
public void inject(Transport transport, ExecutorService asyncTransportExecutor, GlobalComponentRegistry gcr, TimeService timeService, GlobalStateManager globalStateManager)
public void start()
public void stop()
public CacheTopology join(String cacheName, CacheJoinInfo joinInfo, CacheTopologyHandler stm, PartitionHandlingManager phm) throws Exception
LocalTopologyManagerjoin in interface LocalTopologyManagerExceptionpublic void leave(String cacheName)
LocalTopologyManagerleave in interface LocalTopologyManagerpublic void confirmRebalance(String cacheName, int topologyId, int rebalanceId, Throwable throwable)
LocalTopologyManagercacheName 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 LocalTopologyManagercacheName - 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 ManagerStatusResponse handleStatusRequest(int viewId)
LocalTopologyManagerhandleStatusRequest in interface LocalTopologyManagerpublic void handleTopologyUpdate(String cacheName, CacheTopology cacheTopology, AvailabilityMode availabilityMode, int viewId, Address sender) throws InterruptedException
LocalTopologyManagerhandleTopologyUpdate in interface LocalTopologyManagerInterruptedExceptionprotected boolean doHandleTopologyUpdate(String cacheName, CacheTopology cacheTopology, AvailabilityMode availabilityMode, int viewId, Address sender, org.infinispan.topology.LocalCacheStatus cacheStatus)
true if the topology was applied, false if it was ignored.public void handleStableTopologyUpdate(String cacheName, CacheTopology newStableTopology, Address sender, int viewId)
LocalTopologyManagerhandleStableTopologyUpdate in interface LocalTopologyManagerprotected void doHandleStableTopologyUpdate(String cacheName, CacheTopology newStableTopology, int viewId, Address sender, org.infinispan.topology.LocalCacheStatus cacheStatus)
public void handleRebalance(String cacheName, CacheTopology cacheTopology, int viewId, Address sender) throws InterruptedException
LocalTopologyManagerhandleRebalance in interface LocalTopologyManagerInterruptedExceptionprotected void doHandleRebalance(int viewId,
org.infinispan.topology.LocalCacheStatus cacheStatus,
CacheTopology cacheTopology,
String cacheName,
Address sender)
public CacheTopology getCacheTopology(String cacheName)
getCacheTopology in interface LocalTopologyManagerpublic CacheTopology getStableCacheTopology(String cacheName)
getStableCacheTopology in interface LocalTopologyManagerpublic boolean isTotalOrderCache(String cacheName)
LocalTopologyManagercacheName is using total order.
If this component is not running or the cacheName is not defined, it returns false.isTotalOrderCache in interface LocalTopologyManagertrue if the cache is using the total order protocol, false otherwise.public boolean isRebalancingEnabled()
throws Exception
LocalTopologyManagerisRebalancingEnabled in interface LocalTopologyManagerExceptionpublic void setRebalancingEnabled(boolean enabled)
throws Exception
LocalTopologyManagersetRebalancingEnabled in interface LocalTopologyManagerExceptionpublic boolean isCacheRebalancingEnabled(String cacheName) throws Exception
LocalTopologyManagerisCacheRebalancingEnabled in interface LocalTopologyManagerExceptionpublic void setCacheRebalancingEnabled(String cacheName, boolean enabled) throws Exception
LocalTopologyManagersetCacheRebalancingEnabled in interface LocalTopologyManagerExceptionpublic RebalancingStatus getRebalancingStatus(String cacheName) throws Exception
LocalTopologyManagergetRebalancingStatus in interface LocalTopologyManagerExceptionpublic String getClusterAvailability()
public AvailabilityMode getCacheAvailability(String cacheName)
LocalTopologyManagergetCacheAvailability in interface LocalTopologyManagerpublic void setCacheAvailability(String cacheName, AvailabilityMode availabilityMode) throws Exception
LocalTopologyManagersetCacheAvailability in interface LocalTopologyManagerExceptionpublic void prepareForPersist(ScopedPersistentState state)
GlobalStateProviderGlobalStateManager just before
persisting the global stateprepareForPersist in interface GlobalStateProviderpublic void prepareForRestore(ScopedPersistentState state)
GlobalStateProviderGlobalStateManager after starting up to notify
that global state has been restored.prepareForRestore in interface GlobalStateProviderpublic PersistentUUID getPersistentUUID()
LocalTopologyManagergetPersistentUUID in interface LocalTopologyManagerCopyright © 2024 JBoss, a division of Red Hat. All rights reserved.