org.apache.cassandra.locator

Class TokenMetadata

  • java.lang.Object
    • org.apache.cassandra.locator.TokenMetadata


  • public class TokenMetadataextends java.lang.Object
    • Constructor Detail

      • TokenMetadata

        public TokenMetadata()
    • Method Detail

      • pendingRangeChanges

        public int pendingRangeChanges(java.net.InetAddress source)
        Returns:
        the number of nodes bootstrapping into source's primary range
      • updateNormalToken

        public void updateNormalToken(Token token,                     java.net.InetAddress endpoint)
        Update token map with a single token/endpoint pair in normal state.
      • updateNormalTokens

        public void updateNormalTokens(java.util.Collection<Token> tokens,                      java.net.InetAddress endpoint)
      • updateNormalTokens

        public void updateNormalTokens(com.google.common.collect.Multimap<java.net.InetAddress,Token> endpointTokens)
        Update token map with a set of token/endpoint pairs in normal state. Prefer this whenever there are multiple pairs to update, as each update (whether a single or multiple) is expensive (CASSANDRA-3831).
        Parameters:
        endpointTokens -
      • updateHostId

        public void updateHostId(java.util.UUID hostId,                java.net.InetAddress endpoint)
        Store an end-point to host ID mapping. Each ID must be unique, and cannot be changed after the fact.
        Parameters:
        hostId -
        endpoint -
      • getHostId

        public java.util.UUID getHostId(java.net.InetAddress endpoint)
        Return the unique host ID for an end-point.
      • getEndpointForHostId

        public java.net.InetAddress getEndpointForHostId(java.util.UUID hostId)
        Return the end-point for a unique host ID
      • getEndpointToHostIdMapForReading

        public java.util.Map<java.net.InetAddress,java.util.UUID> getEndpointToHostIdMapForReading()
        Returns:
        a copy of the endpoint-to-id map for read-only operations
      • addBootstrapToken

        @Deprecatedpublic void addBootstrapToken(Token token,                                java.net.InetAddress endpoint)
        Deprecated. 
      • addBootstrapTokens

        public void addBootstrapTokens(java.util.Collection<Token> tokens,                      java.net.InetAddress endpoint)
      • removeBootstrapTokens

        public void removeBootstrapTokens(java.util.Collection<Token> tokens)
      • addLeavingEndpoint

        public void addLeavingEndpoint(java.net.InetAddress endpoint)
      • addMovingEndpoint

        public void addMovingEndpoint(Token token,                     java.net.InetAddress endpoint)
        Add a new moving endpoint
        Parameters:
        token - token which is node moving to
        endpoint - address of the moving node
      • addRelocatingTokens

        public void addRelocatingTokens(java.util.Collection<Token> tokens,                       java.net.InetAddress endpoint)
        Add new relocating ranges (tokens moving from their respective endpoints, to another).
        Parameters:
        tokens - tokens being moved
        endpoint - destination of moves
      • removeEndpoint

        public void removeEndpoint(java.net.InetAddress endpoint)
      • removeFromMoving

        public void removeFromMoving(java.net.InetAddress endpoint)
        Remove pair of token/address from moving endpoints
        Parameters:
        endpoint - address of the moving node
      • removeFromRelocating

        public void removeFromRelocating(Token token,                        java.net.InetAddress endpoint)
        Remove pair of token/address from relocating ranges.
        Parameters:
        endpoint -
      • getTokens

        public java.util.Collection<Token> getTokens(java.net.InetAddress endpoint)
      • getToken

        @Deprecatedpublic Token getToken(java.net.InetAddress endpoint)
        Deprecated. 
      • isMember

        public boolean isMember(java.net.InetAddress endpoint)
      • isLeaving

        public boolean isLeaving(java.net.InetAddress endpoint)
      • isMoving

        public boolean isMoving(java.net.InetAddress endpoint)
      • isRelocating

        public boolean isRelocating(Token token)
      • cloneOnlyTokenMap

        public TokenMetadata cloneOnlyTokenMap()
        Create a copy of TokenMetadata with only tokenToEndpointMap. That is, pending ranges, bootstrap tokens and leaving endpoints are not included in the copy.
      • cachedOnlyTokenMap

        public TokenMetadata cachedOnlyTokenMap()
        Return a cached TokenMetadata with only tokenToEndpointMap, i.e., the same as cloneOnlyTokenMap but uses a cached copy that is invalided when the ring changes, so in the common case no extra locking is required. Callers must *NOT* mutate the returned metadata object.
      • cloneAfterAllLeft

        public TokenMetadata cloneAfterAllLeft()
        Create a copy of TokenMetadata with tokenToEndpointMap reflecting situation after all current leave operations have finished.
        Returns:
        new token metadata
      • cloneAfterAllSettled

        public TokenMetadata cloneAfterAllSettled()
        Create a copy of TokenMetadata with tokenToEndpointMap reflecting situation after all current leave, move, and relocate operations have finished.
        Returns:
        new token metadata
      • getEndpoint

        public java.net.InetAddress getEndpoint(Token token)
      • getPrimaryRangesFor

        public java.util.Collection<Range<Token>> getPrimaryRangesFor(java.util.Collection<Token> tokens)
      • getPrimaryRangeFor

        @Deprecatedpublic Range<Token> getPrimaryRangeFor(Token right)
        Deprecated. 
      • sortedTokens

        public java.util.ArrayList<Token> sortedTokens()
      • getPendingRanges

        public java.util.Map<Range<Token>,java.util.Collection<java.net.InetAddress>> getPendingRanges(java.lang.String keyspaceName)
        a mutable map may be returned but caller should not modify it
      • getPendingRanges

        public java.util.List<Range<Token>> getPendingRanges(java.lang.String keyspaceName,                                            java.net.InetAddress endpoint)
      • setPendingRanges

        public void setPendingRanges(java.lang.String keyspaceName,                    com.google.common.collect.Multimap<Range<Token>,java.net.InetAddress> rangeMap)
      • getPredecessor

        public Token getPredecessor(Token token)
      • getSuccessor

        public Token getSuccessor(Token token)
      • getBootstrapTokens

        public BiMultiValMap<Token,java.net.InetAddress> getBootstrapTokens()
        Returns:
        a copy of the bootstrapping tokens map
      • getAllEndpoints

        public java.util.Set<java.net.InetAddress> getAllEndpoints()
      • getLeavingEndpoints

        public java.util.Set<java.net.InetAddress> getLeavingEndpoints()
        caller should not modify leavingEndpoints
      • getMovingEndpoints

        public java.util.Set<Pair<Token,java.net.InetAddress>> getMovingEndpoints()
        Endpoints which are migrating to the new tokens
        Returns:
        set of addresses of moving endpoints
      • getRelocatingRanges

        public java.util.Map<Token,java.net.InetAddress> getRelocatingRanges()
        Ranges which are migrating to new endpoints.
        Returns:
        set of token-address pairs of relocating ranges
      • firstTokenIndex

        public static int firstTokenIndex(java.util.ArrayList ring,                  Token start,                  boolean insertMin)
      • firstToken

        public static Token firstToken(java.util.ArrayList<Token> ring,               Token start)
      • ringIterator

        public static java.util.Iterator<Token> ringIterator(java.util.ArrayList<Token> ring,                                     Token start,                                     boolean includeMin)
        iterator over the Tokens in the given ring, starting with the token for the node owning start (which does not have to be a Token in the ring)
        Parameters:
        includeMin - True if the minimum token should be returned in the ring even if it has no owner.
      • clearUnsafe

        public void clearUnsafe()
        used by tests
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • printPendingRanges

        public java.lang.String printPendingRanges()
      • printRelocatingRanges

        public java.lang.String printRelocatingRanges()
      • pendingEndpointsFor

        public java.util.Collection<java.net.InetAddress> pendingEndpointsFor(Token token,                                                             java.lang.String keyspaceName)
      • getWriteEndpoints

        public java.util.Collection<java.net.InetAddress> getWriteEndpoints(Token token,                                                           java.lang.String keyspaceName,                                                           java.util.Collection<java.net.InetAddress> naturalEndpoints)
        Deprecated. retained for benefit of old tests
      • getEndpointToTokenMapForReading

        public com.google.common.collect.Multimap<java.net.InetAddress,Token> getEndpointToTokenMapForReading()
        Returns:
        an endpoint to token multimap representation of tokenToEndpointMap (a copy)
      • getNormalAndBootstrappingTokenToEndpointMap

        public java.util.Map<Token,java.net.InetAddress> getNormalAndBootstrappingTokenToEndpointMap()
        Returns:
        a (stable copy, won't be modified) Token to Endpoint map for all the normal and bootstrapping nodes in the cluster.
      • getTopology

        public TokenMetadata.Topology getTopology()
        Returns:
        the Topology map of nodes to DCs + Racks This is only allowed when a copy has been made of TokenMetadata, to avoid concurrent modifications when Topology methods are subsequently used by the caller.
      • getRingVersion

        public long getRingVersion()
      • invalidateCachedRings

        public void invalidateCachedRings()

Copyright © 2013 The Apache Software Foundation



NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14