Package org.apache.cassandra.net

Examples of org.apache.cassandra.net.EndPoint


     *  we are interested in new tokens as a result of a new node or an
     *  existing node moving to a new location on the ring.
    */
    public void onChange(EndPoint endpoint, EndPointState epState)
    {
        EndPoint ep = new EndPoint(endpoint.getHost(), DatabaseDescriptor.getStoragePort());
        /* node identifier for this endpoint on the identifier space */
        ApplicationState nodeIdState = epState.getApplicationState(StorageService.nodeId_);
        if (nodeIdState != null)
        {
            BigInteger newToken = new BigInteger(nodeIdState.getState());
View Full Code Here


        EndPoint[] endpoints = new EndPoint[allNodes.length];
        BigInteger[] tokens = new BigInteger[allNodes.length];
       
        for ( int i = 0; i < allNodes.length; ++i )
        {
            endpoints[i] = new EndPoint( allNodes[i].trim(), DatabaseDescriptor.getStoragePort() );
            tokens[i] = tokenMetadata_.getToken(endpoints[i]);
        }
       
        /* Start the bootstrap algorithm */
        if ( filterSources == null )
        bootStrapper_.submit( new BootStrapper(endpoints, tokens) );
        else
        {
            String[] allFilters = filterSources.split(":");
            EndPoint[] filters = new EndPoint[allFilters.length];
            for ( int i = 0; i < allFilters.length; ++i )
            {
                filters[i] = new EndPoint( allFilters[i].trim(), DatabaseDescriptor.getStoragePort() );
            }
            bootStrapper_.submit( new BootStrapper(endpoints, tokens, filters) );
        }
    }
View Full Code Here

    /* This methods belong to the MBean interface */
   
    public String getToken(EndPoint ep)
    {
        EndPoint ep2 = new EndPoint(ep.getHost(), DatabaseDescriptor.getStoragePort());
        BigInteger token = tokenMetadata_.getToken(ep2);
        return ( token == null ) ? BigInteger.ZERO.toString() : token.toString();
    }
View Full Code Here

            ++i;
        }
       
        if ( files.length > 0 )
    {
            EndPoint target = new EndPoint(host, DatabaseDescriptor.getStoragePort());
            /* Set up the stream manager with the files that need to streamed */
            StreamManager.instance(target).addFilesToStream(streamContexts);
            /* Send the bootstrap initiate message */
            BootstrapInitiateMessage biMessage = new BootstrapInitiateMessage(streamContexts);
            Message message = BootstrapInitiateMessage.makeBootstrapInitiateMessage(biMessage);
View Full Code Here

     * @return range for the specified endpoint.
     */
    public Range getPrimaryRangeForEndPoint(EndPoint ep)
    {
        BigInteger right = tokenMetadata_.getToken(ep);
        EndPoint predecessor = getPredecessor(ep);
        BigInteger left = tokenMetadata_.getToken(predecessor);
        return new Range(left, right);
    }
View Full Code Here

    List<Range> getRangesForEndPoint(EndPoint ep)
    {
        List<Range> ranges = new ArrayList<Range>();
        ranges.add( getPrimaryRangeForEndPoint(ep) );
       
        EndPoint predecessor = ep;
        int count = DatabaseDescriptor.getReplicationFactor() - 1;
        for ( int i = 0; i < count; ++i )
        {
            predecessor = getPredecessor(predecessor);
            ranges.add( getPrimaryRangeForEndPoint(predecessor) );
View Full Code Here

     * param @ key - key for which we need to find the endpoint
     * return value - the endpoint responsible for this key
     */
    public EndPoint getPrimary(String key)
    {
        EndPoint endpoint = StorageService.tcpAddr_;
        BigInteger token = hash(key);
        Map<BigInteger, EndPoint> tokenToEndPointMap = tokenMetadata_.cloneTokenEndPointMap();
        List<BigInteger> tokens = new ArrayList<BigInteger>(tokenToEndPointMap.keySet());
        if (tokens.size() > 0)
        {
View Full Code Here

     * @param key
     * @return true if the local endpoint is the primary replica.
    */
    public boolean isPrimary(String key)
    {
        EndPoint endpoint = getPrimary(key);
        return StorageService.tcpAddr_.equals(endpoint);
    }
View Full Code Here

        try
        {
            long t = System.currentTimeMillis();
            counter_.incrementAndGet();
        columnFamilyHack_++;
            EndPoint to = new EndPoint(7000);
            RowMutationMessage rmMsg = new RowMutationMessage(rm);          
            Message message = new Message(to,
                    StorageService.mutationStage_,
                    StorageService.mutationVerbHandler_,
                    new Object[]{ rmMsg }
View Full Code Here

        }
    }

    protected EndPoint getNextAvailableEndPoint(EndPoint startPoint, List<EndPoint> topN, List<EndPoint> liveNodes)
    {
        EndPoint endPoint = null;
        Map<BigInteger, EndPoint> tokenToEndPointMap = tokenMetadata_.cloneTokenEndPointMap();
        List<BigInteger> tokens = new ArrayList<BigInteger>(tokenToEndPointMap.keySet());
        Collections.sort(tokens);
        BigInteger token = tokenMetadata_.getToken(startPoint);
        int index = Collections.binarySearch(tokens, token);
        if(index < 0)
        {
            index = (index + 1) * (-1);
            if (index >= tokens.size())
                index = 0;
        }
        int totalNodes = tokens.size();
        int startIndex = (index+1)%totalNodes;
        for (int i = startIndex, count = 1; count < totalNodes ; ++count, i = (i+1)%totalNodes)
        {
            EndPoint tmpEndPoint = tokenToEndPointMap.get(tokens.get(i));
            if(FailureDetector.instance().isAlive(tmpEndPoint) && !topN.contains(tmpEndPoint) && !liveNodes.contains(tmpEndPoint))
            {
                endPoint = tmpEndPoint;
                break;
            }
View Full Code Here

TOP

Related Classes of org.apache.cassandra.net.EndPoint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.