Package org.apache.cassandra.net

Examples of org.apache.cassandra.net.Message


        ReadCommand readMessageDigestOnly = command.copy();
        readMessageDigestOnly.setDigestQuery(true);

        Row row = null;
        Message message = command.makeReadMessage();
        Message messageDigestOnly = readMessageDigestOnly.makeReadMessage();

        IResponseResolver<Row> readResponseResolver = new ReadResponseResolver();
        QuorumResponseHandler<Row> quorumResponseHandler = new QuorumResponseHandler<Row>(
                DatabaseDescriptor.getReplicationFactor(),
                readResponseResolver);
        EndPoint dataPoint = StorageService.instance().findSuitableEndPoint(command.key);
        List<EndPoint> endpointList = new ArrayList<EndPoint>(Arrays.asList(StorageService.instance().getNStorageEndPoint(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;
        for (int i = 1; i < endPoints.length; i++)
        {
            endPoints[i] = endpointList.get(i - 1);
            messages[i] = messageDigestOnly;
        }
        logger_.debug("strongread reading " + command + " from " + StringUtils.join(endPoints, ", "));

        try
        {
            MessagingService.getMessagingInstance().sendRR(messages, endPoints, quorumResponseHandler);

            long startTime2 = System.currentTimeMillis();
            row = quorumResponseHandler.get();
            logger_.debug("quorumResponseHandler: " + (System.currentTimeMillis() - startTime2) + " ms.");
        }
        catch (DigestMismatchException ex)
        {
            if ( DatabaseDescriptor.getConsistencyCheck())
            {
                IResponseResolver<Row> readResponseResolverRepair = new ReadResponseResolver();
                QuorumResponseHandler<Row> quorumResponseHandlerRepair = new QuorumResponseHandler<Row>(
                        DatabaseDescriptor.getReplicationFactor(),
                        readResponseResolverRepair);
                command.setDigestQuery(false);
                logger_.info("DigestMismatchException: " + command.key);
                Message messageRepair = command.makeReadMessage();
                MessagingService.getMessagingInstance().sendRR(messageRepair, endPoints,
                                                               quorumResponseHandlerRepair);
                try
                {
                    row = quorumResponseHandlerRepair.get();
View Full Code Here


        StorageService.readRepairVerbHandler_, new Object[]
        { rowMutationMessage });
        */
        try
        {
            Message message = RowMutationMessage.makeRowMutationMessage(rowMutationMessage, StorageService.readRepairVerbHandler_);
        String key = target + ":" + message.getMessageId();
        readRepairTable_.put(key, message);
        }
        catch ( IOException ex )
        {
            logger_.info(LogUtil.throwableToString(ex));
View Full Code Here

    public static Message getCalloutDeployMessage(CalloutDeployMessage cdMessage) throws IOException
    {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos);
        serializer_.serialize(cdMessage, dos);
        Message message = new Message(StorageService.getLocalStorageEndPoint(), "", StorageService.calloutDeployVerbHandler_, new Object[]{bos.toByteArray()});
        return message;
    }
View Full Code Here

            byte[] bytes = new byte[readCtx.bufOut_.getLength()];
            start = System.currentTimeMillis();
            System.arraycopy(readCtx.bufOut_.getData(), 0, bytes, 0, bytes.length);
            logger_.info("copy  TIME: " + (System.currentTimeMillis() - start) + " ms.");

            Message response = message.getReply( StorageService.getLocalStorageEndPoint(), new Object[]{bytes} );
            MessagingService.getMessagingInstance().sendOneWay(response, message.getFrom());
            logger_.info("ReadVerbHandler  TIME 2: " + (System.currentTimeMillis() - start) + " ms.");
           
            /* Do read repair if header of the message says so */
            String repair = new String( message.getHeader(ReadCommand.DO_REPAIR) );
View Full Code Here

                    List<GossipDigest> gDigests = new ArrayList<GossipDigest>();
                    Gossiper.instance().makeRandomGossipDigest(gDigests);

                    if ( gDigests.size() > 0 )
                    {
                        Message message = makeGossipDigestSynMessage(gDigests);
                        /* Gossip to some random live member */
                        boolean bVal = doGossipToLiveMember(message);

                        /* Gossip to some unreachable member with some probability to check if he is back up */
                        doGossipToUnreachableMember(message);
View Full Code Here

            List<GossipDigest> deltaGossipDigestList = new ArrayList<GossipDigest>();
            Map<EndPoint, EndPointState> deltaEpStateMap = new HashMap<EndPoint, EndPointState>();
            Gossiper.instance().examineGossiper(gDigestList, deltaGossipDigestList, deltaEpStateMap);

            GossipDigestAckMessage gDigestAck = new GossipDigestAckMessage(deltaGossipDigestList, deltaEpStateMap);
            Message gDigestAckMessage = Gossiper.instance().makeGossipDigestAckMessage(gDigestAck);
            logger_.trace("Sending a GossipDigestAckMessage to " + from);
            MessagingService.getMessagingInstance().sendUdpOneWay(gDigestAckMessage, from);
        }
        catch (IOException e)
        {
View Full Code Here

          Table table = Table.open(DatabaseDescriptor.getTables().get(0));
          Row row = null;
          row = table.get(key);
          RowMutation rm = new RowMutation(DatabaseDescriptor.getTables().get(0), row);
      RowMutationMessage rmMsg = new RowMutationMessage(rm);
      Message message = RowMutationMessage.makeRowMutationMessage( rmMsg );
      EndPoint endPoint = new EndPoint(endpointAddress, DatabaseDescriptor.getStoragePort());
      MessagingService.getMessagingInstance().sendOneWay(message, endPoint);
      return success;
        }
View Full Code Here

                if ( localEpStatePtr != null )
                    deltaEpStateMap.put(addr, localEpStatePtr);
            }

            GossipDigestAck2Message gDigestAck2 = new GossipDigestAck2Message(deltaEpStateMap);
            Message gDigestAck2Message = Gossiper.instance().makeGossipDigestAck2Message(gDigestAck2);
            logger_.trace("Sending a GossipDigestAck2Message to " + from);
            MessagingService.getMessagingInstance().sendUdpOneWay(gDigestAck2Message, from);
        }
        catch ( IOException e )
        {
View Full Code Here

    public void applyLoad(RowMutation rm) throws IOException {
        try
        {
            long t = System.currentTimeMillis();
            RowMutationMessage rmMsg = new RowMutationMessage(rm);          
            Message message = new Message(from_,
                    StorageService.mutationStage_,
                    StorageService.mutationVerbHandler_,
                    new Object[]{ rmMsg }
            );                                                           
      MessagingService.getMessagingInstance().sendOneWay(message, to_);
View Full Code Here

    {
    IResponseResolver<Row> readResponseResolver = new ReadResponseResolver();
    QuorumResponseHandler<Row> quorumResponseHandler = new QuorumResponseHandler<Row>(
        1,
        readResponseResolver);
    Message message = new Message(from_, StorageService.readStage_,
        StorageService.readVerbHandler_,
        new Object[] {readCommand});
    MessagingService.getMessagingInstance().sendOneWay(message, to_);
    /*IAsyncResult iar = MessagingService.getMessagingInstance().sendRR(message, to_);
    try
View Full Code Here

TOP

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

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.