Examples of Iv2RepairLogResponseMessage


Examples of org.voltdb.messaging.Iv2RepairLogResponseMessage

    /** Process a new repair log response */
    @Override
    public void deliver(VoltMessage message)
    {
        if (message instanceof Iv2RepairLogResponseMessage) {
            Iv2RepairLogResponseMessage response = (Iv2RepairLogResponseMessage)message;
            if (response.getRequestId() != m_requestId) {
                tmLog.debug(m_whoami + "rejecting stale repair response."
                          + " Current request id is: " + m_requestId
                          + " Received response for request id: " + response.getRequestId());
                return;
            }

            // Step 1: if the msg has a known (not MAX VALUE) handle, update m_maxSeen.
            if (response.getTxnId() != Long.MAX_VALUE) {
                m_maxSeenTxnId = Math.max(m_maxSeenTxnId, response.getTxnId());
            }

            // Step 2: track hashinator versions

            if (response.hasHashinatorConfig()) {
                Pair<Long,byte[]> proposed = response.getHashinatorVersionedConfig();
                if (proposed.getFirst() > m_newestHashinatorConfig.getFirst()) {
                    m_newestHashinatorConfig = proposed;
                }
            }

            // Step 3: offer to the union
            addToRepairLog(response);
            if (tmLog.isTraceEnabled()) {
                tmLog.trace(m_whoami + " collected from " + CoreUtils.hsIdToString(response.m_sourceHSId) +
                        ", message: " + response.getPayload());
            }

            // Step 4: update the corresponding replica repair struct.
            ReplicaRepairStruct rrs = m_replicaRepairStructs.get(response.m_sourceHSId);
            if (rrs.m_expectedResponses < 0) {
                tmLog.debug(m_whoami + "collecting " + response.getOfTotal()
                          + " repair log entries from "
                          + CoreUtils.hsIdToString(response.m_sourceHSId));
            }

            if (rrs.update(response)) {
View Full Code Here

Examples of org.voltdb.messaging.Iv2RepairLogResponseMessage

    {
        // don't add the null payload from the first message ack to the repair log
        if (msg.getPayload() == null) {
            return;
        }
        Iv2RepairLogResponseMessage prev = m_repairLogUnion.floor(msg);
        if (prev != null && (prev.getTxnId() != msg.getTxnId())) {
            prev = null;
        }

        if (prev == null) {
           m_repairLogUnion.add(msg);
View Full Code Here

Examples of org.voltdb.messaging.Iv2RepairLogResponseMessage

        List<Iv2RepairLogResponseMessage> responses =
            new LinkedList<Iv2RepairLogResponseMessage>();

        // this constructor sets its sequence no to 0 as ack
        // messages are first in the sequence
        Iv2RepairLogResponseMessage hheader =
                new Iv2RepairLogResponseMessage(
                        requestId,
                        ofTotal,
                        m_lastSpHandle,
                        m_lastMpHandle,
                        TheHashinator.getCurrentVersionedConfigCooked());
        responses.add(hheader);

        int seq = responses.size();

        Iterator<Item> itemator = items.iterator();
        while (itemator.hasNext()) {
            Item item = itemator.next();
            Iv2RepairLogResponseMessage response =
                new Iv2RepairLogResponseMessage(
                        requestId,
                        seq++,
                        ofTotal,
                        item.getHandle(),
                        item.getTxnId(),
View Full Code Here

Examples of org.voltdb.messaging.Iv2RepairLogResponseMessage

    /** Process a new repair log response */
    @Override
    public void deliver(VoltMessage message)
    {
        if (message instanceof Iv2RepairLogResponseMessage) {
            Iv2RepairLogResponseMessage response = (Iv2RepairLogResponseMessage)message;
            if (response.getRequestId() != m_requestId) {
                tmLog.debug(m_whoami + "rejecting stale repair response."
                          + " Current request id is: " + m_requestId
                          + " Received response for request id: " + response.getRequestId());
                return;
            }
            ReplicaRepairStruct rrs = m_replicaRepairStructs.get(response.m_sourceHSId);
            if (rrs.m_expectedResponses < 0) {
                tmLog.debug(m_whoami + "collecting " + response.getOfTotal()
                          + " repair log entries from "
                          + CoreUtils.hsIdToString(response.m_sourceHSId));
            }
            // Long.MAX_VALUE has rejoin semantics
            if (response.getHandle() != Long.MAX_VALUE) {
                m_maxSeenTxnId = Math.max(m_maxSeenTxnId, response.getHandle());
            }
            if (response.getPayload() != null) {
                m_repairLogUnion.add(response);
                if (tmLog.isTraceEnabled()) {
                    tmLog.trace(m_whoami + " collected from " + CoreUtils.hsIdToString(response.m_sourceHSId) +
                            ", message: " + response.getPayload());
                }
            }
            if (rrs.update(response)) {
                tmLog.debug(m_whoami + "collected " + rrs.m_receivedResponses
                          + " responses for " + rrs.m_expectedResponses
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.