Package org.apache.cassandra.net

Examples of org.apache.cassandra.net.EndPoint


            /* Deserialize to get the token for this endpoint. */
            MembershipCleaner.MembershipCleanerMessage mcMessage = MembershipCleaner.MembershipCleanerMessage.serializer().deserialize(bufIn);
           
            String target = mcMessage.getTarget();
            logger_.info("Removing the node [" + target + "] from membership");
            EndPoint targetEndPoint = new EndPoint(target, DatabaseDescriptor.getControlPort());
            /* Remove the token related information for this endpoint */
            StorageService.instance().removeTokenState(targetEndPoint);
           
            /* Get the headers for this message */
            Map<String, byte[]> headers = message.getHeaders();
            headers.remove( StorageService.getLocalStorageEndPoint().getHost() );
            if (logger_.isDebugEnabled())
              logger_.debug("Number of nodes in the header " + headers.size());
            Set<String> nodes = headers.keySet();
           
            for ( String node : nodes )
            {           
                if (logger_.isDebugEnabled())
                  logger_.debug("Processing node " + node);
                headers.remove(node);
                /* Send a message to this node to alter its membership state. */
                EndPoint targetNode = new EndPoint(node, DatabaseDescriptor.getStoragePort());               
               
                if (logger_.isDebugEnabled())
                  logger_.debug("Sending a membership clean message to " + targetNode);
                MessagingService.getMessagingInstance().sendOneWay(message, targetNode);
                break;
View Full Code Here


        catch( UnknownHostException ex )
        {
            logger_.info( LogUtil.throwableToString(ex) );
        }
      /* Incoming port is assumed to be the Storage port. We need to change it to the control port */
      EndPoint ep2 = new EndPoint(ep.getHost(), DatabaseDescriptor.getControlPort());       
        EndPointState epState = Gossiper.instance().getEndPointStateForEndPoint(ep2);
        return epState.isAlive();
    }
View Full Code Here

        }
    }

    public BootstrapMetadata deserialize(DataInputStream dis) throws IOException
    {           
        EndPoint target = CompactEndPointSerializationHelper.deserialize(dis);
        int size = dis.readInt();
        List<Range> ranges = (size == 0) ? null : new ArrayList<Range>();
        for( int i = 0; i < size; ++i )
        {
            ranges.add(Range.serializer().deserialize(dis));
View Full Code Here

     * is responsible for storing this key .
     */
    private static boolean checkIfProcessKey(String key)
    {
        EndPoint[] endPoints = StorageService.instance().getNStorageEndPoint(key);
        EndPoint localEndPoint = StorageService.getLocalStorageEndPoint();
        for(EndPoint endPoint : endPoints)
        {
            if(endPoint.equals(localEndPoint))
                return true;
        }
View Full Code Here

            {           
                if (logger_.isDebugEnabled())
                  logger_.debug("Processing node " + node);
                byte[] bytes = headers.remove(node);
                /* Send a message to this node to update its token to the one retrieved. */
                EndPoint target = new EndPoint(node, DatabaseDescriptor.getStoragePort());
                token = p.getTokenFactory().fromByteArray(bytes);
               
                /* Reset the new Message */
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                DataOutputStream dos = new DataOutputStream(bos);
View Full Code Here

    Map<EndPoint, Message> messageMap = new HashMap<EndPoint, Message>();
    Message message = rm.makeRowMutationMessage();

    for (Map.Entry<EndPoint, EndPoint> entry : endpointMap.entrySet())
    {
            EndPoint target = entry.getKey();
            EndPoint hint = entry.getValue();
            if ( !target.equals(hint) )
      {
        Message hintedMessage = rm.makeRowMutationMessage();
        hintedMessage.addHeader(RowMutation.HINT, EndPoint.toBytes(hint) );
        if (logger.isDebugEnabled())
            logger.debug("Sending the hint of " + hint.getHost() + " to " + target.getHost());
        messageMap.put(target, hintedMessage);
      }
      else
      {
        messageMap.put(target, message);
View Full Code Here

      Map<EndPoint, EndPoint> endpointMap = StorageService.instance().getHintedStorageEndpointMap(rm.key());
      Map<EndPoint, Message> messageMap = createWriteMessages(rm, endpointMap);
      for (Map.Entry<EndPoint, Message> entry : messageMap.entrySet())
      {
                Message message = entry.getValue();
                EndPoint endpoint = entry.getKey();
                if (logger.isDebugEnabled())
                    logger.debug("insert writing key " + rm.key() + " to " + message.getMessageId() + "@" + endpoint);
                MessagingService.getMessagingInstance().sendOneWay(message, endpoint);
      }
    }
View Full Code Here

        List<IAsyncResult> iars = new ArrayList<IAsyncResult>();
        int commandIndex = 0;

        for (ReadCommand command: commands)
        {
            EndPoint endPoint = StorageService.instance().findSuitableEndPoint(command.key);
            assert endPoint != null;
            Message message = command.makeReadMessage();

            if (logger.isDebugEnabled())
                logger.debug("weakreadremote reading " + command + " from " + message.getMessageId() + "@" + endPoint);
View Full Code Here

            IResponseResolver<Row> readResponseResolver = new ReadResponseResolver();
            QuorumResponseHandler<Row> quorumResponseHandler = new QuorumResponseHandler<Row>(
                    DatabaseDescriptor.getQuorum(),
                    readResponseResolver);
            EndPoint dataPoint = StorageService.instance().findSuitableEndPoint(command.key);
            List<EndPoint> endpointList = new ArrayList<EndPoint>(Arrays.asList(StorageService.instance().getReadStorageEndPoints(command.key)));
            /* Remove the local storage endpoint from the list. */
            endpointList.remove(dataPoint);
            EndPoint[] endPoints = new EndPoint[endpointList.size() + 1];
            Message messages[] = new Message[endpointList.size() + 1];

            /*
             * First message is sent to the node that will actually get
             * the data for us. The other two replicas are only sent a
             * digest query.
            */
            endPoints[0] = dataPoint;
            messages[0] = message;
            if (logger.isDebugEnabled())
                logger.debug("strongread reading data for " + command + " from " + message.getMessageId() + "@" + dataPoint);
            for (int i = 1; i < endPoints.length; i++)
            {
                EndPoint digestPoint = endpointList.get(i - 1);
                endPoints[i] = digestPoint;
                messages[i] = messageDigestOnly;
                if (logger.isDebugEnabled())
                    logger.debug("strongread reading digest for " + command + " from " + messageDigestOnly.getMessageId() + "@" + digestPoint);
            }
View Full Code Here

       
        int i = 0;
        for ( String key : keys )
        {
            /* This is the primary */
            EndPoint dataPoint = StorageService.instance().findSuitableEndPoint(key);
            List<EndPoint> replicas = new ArrayList<EndPoint>( StorageService.instance().getLiveReadStorageEndPoints(key) );
            replicas.remove(dataPoint);
            /* Get the messages to be sent index 0 is the data messages and index 1 is the digest message */
            Message[] message = messages.get(key);          
            msgList[i][0] = message[0];
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.