Interface ClusterTopologyManager

All Known Implementing Classes:
ClusterTopologyManagerImpl

public interface ClusterTopologyManager
Maintains the topology for all the caches in the cluster.
Since:
5.2
Author:
Dan Berindei
  • Method Details

    • currentJoiners

      List<Address> currentJoiners(String cacheName)
      Returns the list of nodes that joined the cache with the given cacheName if the current node is the coordinator. If the node is not the coordinator, the method returns null.
    • handleJoin

      CompletionStage<CacheStatusResponse> handleJoin(String cacheName, Address joiner, CacheJoinInfo joinInfo, int viewId) throws Exception
      Signals that a new member is joining the cache. The returned CacheStatusResponse.cacheTopology is the current cache topology before the node joined. If the node is the first to join the cache, the returned topology does include the joiner, and it is never null.
      Throws:
      Exception
    • handleLeave

      @Deprecated(since="16.0", forRemoval=true) default CompletionStage<Void> handleLeave(String cacheName, Address leaver, int viewId) throws Exception
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 16.0, use handleLeave(String, Address) instead
      Signals that a member is leaving the cache.
      Parameters:
      viewId - is always ignored
      Throws:
      Exception
    • handleLeave

      CompletionStage<Void> handleLeave(String cacheName, Address leaver) throws Exception
      Signals that a member is leaving the cache.
      Throws:
      Exception
    • handleRebalancePhaseConfirm

      @Deprecated(since="16.0", forRemoval=true) default CompletionStage<Void> handleRebalancePhaseConfirm(String cacheName, Address node, int topologyId, Throwable throwable, int viewId) throws Exception
      Deprecated, for removal: This API element is subject to removal in a future version.
      Marks the rebalance as complete on the sender.
      Parameters:
      viewId - is always ignored
      Throws:
      Exception
    • handleRebalancePhaseConfirm

      CompletionStage<Void> handleRebalancePhaseConfirm(String cacheName, Address node, int topologyId, Throwable throwable) throws Exception
      Throws:
      Exception
    • isRebalancingEnabled

      boolean isRebalancingEnabled()
    • isRebalancingEnabled

      boolean isRebalancingEnabled(String cacheName)
      Returns whether rebalancing is enabled or disabled for this container.
    • setRebalancingEnabled

      CompletionStage<Void> setRebalancingEnabled(boolean enabled)
      Globally enables or disables whether automatic rebalancing should occur.
    • setRebalancingEnabled

      CompletionStage<Void> setRebalancingEnabled(String cacheName, boolean enabled)
      Enables or disables rebalancing for the specified cache
    • getRebalancingStatus

      RebalancingStatus getRebalancingStatus(String cacheName)
      Retrieves the rebalancing status of a cache
    • forceRebalance

      CompletionStage<Void> forceRebalance(String cacheName)
    • forceAvailabilityMode

      CompletionStage<Void> forceAvailabilityMode(String cacheName, AvailabilityMode availabilityMode)
    • getAvailabilityMode

      AvailabilityMode getAvailabilityMode(String cacheName)
      Retrieves the current availability mode of a cache.
      Parameters:
      cacheName - Name of the cache to verify.
      Returns:
      null if the cache is not found. Otherwise, the current availability status.
    • handleShutdownRequest

      CompletionStage<Void> handleShutdownRequest(String cacheName) throws Exception
      Throws:
      Exception
    • useCurrentTopologyAsStable

      boolean useCurrentTopologyAsStable(String cacheName, boolean force)
    • setInitialCacheTopologyId

      void setInitialCacheTopologyId(String cacheName, int topologyId)
      Sets the id of the initial topology in given cache. This is necessary when using entry versions that contain topology id; had we started with topology id 1, newer versions would not be recognized properly.
    • getStatus