Examples of VoltMessage


Examples of org.voltcore.messaging.VoltMessage

        // Unfortunately, it's painful to try to stub things to make repairSurvivors() work, so we'll
        // go and inspect the guts of SpPromoteAlgo instead.  This iteration is largely a copy of the inner loop
        // of repairSurvivors()
        List<TransactionInfoBaseMessage> finalStream = new ArrayList<TransactionInfoBaseMessage>();
        for (Iv2RepairLogResponseMessage li : dut.m_repairLogUnion) {
            VoltMessage msg = dut.createRepairMessage(li);
            finalStream.add((TransactionInfoBaseMessage)msg);
        }
        // Check the sanity of the repair stream generated by the MPI.
        long lastTxnId = Long.MIN_VALUE;
        boolean seenFrag = false;
        for (TransactionInfoBaseMessage msg : finalStream) {
            if (lastTxnId == Long.MIN_VALUE) {
                lastTxnId = msg.getTxnId();
            }
            else {
                assertTrue(msg.getTxnId() > lastTxnId);
                lastTxnId = msg.getTxnId();
            }
            if (msg instanceof FragmentTaskMessage) {
                assertFalse(seenFrag);
                seenFrag = true;
            }
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

    public void testOffer()
    {
        // offer some various messages to log and check
        // that it keeps the expected ones.
        RepairLog rl = new RepairLog();
        VoltMessage m1 = nonTruncInitMsg();
        VoltMessage m2 = nonTruncInitMsg();

        rl.deliver(m1);
        rl.deliver(m2);

        List<Iv2RepairLogResponseMessage> contents = rl.contents(1l, false);
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

    public void testOfferWithTruncation()
    {
        RepairLog rl = new RepairLog();

        // add m1
        VoltMessage m1 = truncInitMsg(0L, 1L);
        rl.deliver(m1);
        assertEquals(2, rl.contents(1L, false).size());

        // add m2
        VoltMessage m2 = truncInitMsg(0L, 2L);
        rl.deliver(m2);
        assertEquals(3, rl.contents(1L, false).size());

        // trim m1. add m3
        VoltMessage m3 = truncInitMsg(1L, 3L);
        rl.deliver(m3);
        assertEquals(3, rl.contents(1L, false).size());
        assertEquals(m2, rl.contents(1L, false).get(1).getPayload());
        assertEquals(2L, rl.contents(1L, false).get(1).getHandle());
        assertEquals(m3, rl.contents(1L, false).get(2).getPayload());
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

    @Test
    public void testOfferUneededMessage()
    {
        RepairLog rl = new RepairLog();
        VoltMessage m1 = truncInitMsg(0L, 1L);
        rl.deliver(m1);
        // deliver a non-logged message (this is the test).
        rl.deliver(new FooMessage());
        VoltMessage m2 = truncInitMsg(0L, 2L);
        rl.deliver(m2);
        assertEquals(3, rl.contents(1L, false).size());
        assertEquals(m1, rl.contents(1L, false).get(1).getPayload());
        assertEquals(m2, rl.contents(1L, false).get(2).getPayload());
    }
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

        // Maintain the CI invariant that responses arrive in txnid order.
        Collections.sort(doneCounters);
        for (DuplicateCounterKey key : doneCounters) {
            DuplicateCounter counter = m_duplicateCounters.remove(key);
            VoltMessage resp = counter.getLastResponse();
            if (resp != null) {
                // MPI is tracking deps per partition HSID.  We need to make
                // sure we write ours into the message getting sent to the MPI
                if (resp instanceof FragmentResponseMessage) {
                    FragmentResponseMessage fresp = (FragmentResponseMessage)resp;
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

    /**
     * Poll the replay sequencer and process the messages until it returns null
     */
    private void deliverReadyTxns() {
        // First, pull all the sequenced messages, if any.
        VoltMessage m = m_replaySequencer.poll();
        while(m != null) {
            deliver(m);
            m = m_replaySequencer.poll();
        }
        // Then, try to pull all the drainable messages, if any.
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

        rejoinLog.trace("Starting ack receiver thread");

        try {
            while (true) {
                rejoinLog.trace("Blocking on receiving mailbox");
                VoltMessage msg = m_mb.recvBlocking(10 * 60 * 1000); // Wait for 10 minutes
                if (msg == null) {
                    rejoinLog.warn("No stream snapshot ack message was received in the past 10 minutes" +
                                   " or the thread was interrupted (expected eofs: " + m_expectedEOFs.get() + ")" );
                    continue;
                }
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

                BBContainer compressionBufferC = null;
                ByteBuffer compressionBuffer = null;
                boolean success = false;

                try {
                    VoltMessage msg = m_mb.recvBlocking();
                    if (msg == null) {
                        // If interrupted, break
                        break;
                    }
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

                        m_miniSite.reportFault(agreementHSId);
                        m_deadTracker.stopTracking(msg.m_src);
                    } else {
                        m_deadTracker.updateHSId(msg.m_src);
                        // inject actual message into mailbox
                        VoltMessage message = msg.m_msg;

                        // snoop for SiteFailureMessage, inject into MiniSite's mailbox
                        if (   message instanceof SiteFailureMessage
                                && !(message instanceof SiteFailureForwardMessage)) {
                            SiteFailureMessage sfm = (SiteFailureMessage)message;
View Full Code Here

Examples of org.voltcore.messaging.VoltMessage

        checkDrainCondition();
        if (m_mustDrain || m_replayEntries.isEmpty()) {
            return null;
        }

        VoltMessage m = m_replayEntries.firstEntry().getValue().poll();
        updateLastPolledTxnId(m_replayEntries.firstEntry().getKey(), (TransactionInfoBaseMessage) m);
        return m;
    }
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.