Package org.voltcore.messaging

Examples of org.voltcore.messaging.FaultMessage


            } else if (m.getSubject() == Subject.FAILURE.getId()) {
                /*
                 * If the fault distributor reports a new fault, ignore it if it is known , otherwise
                 * re-deliver the message to ourself and then abort so that the process can restart.
                 */
                FaultMessage fm = (FaultMessage)m;

                Discard ignoreIt = mayIgnore(hsIds,fm);
                if (Discard.DoNot == ignoreIt) {
                    m_mailbox.deliverFront(m);
                    m_recoveryLog.info("Agreement, Detected a concurrent failure from FaultDistributor, new failed site "
View Full Code Here


                            " data from failed initiatorSiteId: " + transactionState.initiatorHSId);
                }
            }

        } else if (message instanceof FaultMessage) {
            FaultMessage fm = (FaultMessage)message;
            discoverGlobalFaultData(fm);

        } else if (message instanceof RecoveryMessage) {
            RecoveryMessage rm = (RecoveryMessage)message;
            assert(m_recoverBeforeTxn == null);
View Full Code Here

        m_mailbox.deliverFront(lom);
        return sem;
    }

    public void reportFault(long faultingSite) {
        FaultMessage fm = new FaultMessage(m_hsId,faultingSite);
        fm.m_sourceHSId = m_hsId;
        m_mailbox.deliver(fm);
    }
View Full Code Here

            .thenReturn(make(siteOneSfm.but(with(sfmSource, 0L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 2L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 3L))))
            ;

        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(1L,11L));
    }
View Full Code Here

            .thenReturn(make(siteOneSfm.but(with(sfmSource, 0L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 2L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 3L))))
            ;

        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1),sfmSurvived(0,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(1L,11L));

        reset(mbox);
        when(mbox.recvBlocking(any(Subject[].class),eq(5L)))
            .thenReturn(make(siteTwoSfm.but(with(sfmSource,0L))))
            .thenReturn(make(siteTwoSfm.but(with(sfmSource,3L))))
        ;

        decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,2));

        verify(mbox,never()).deliverFront(any(VoltMessage.class));
        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(2), sfmSurvived(0,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(2L,22L));
View Full Code Here

        when(aide.getNewestSafeTransactionForInitiator(1L)).thenReturn(11L);
        when(aide.getNewestSafeTransactionForInitiator(2L)).thenReturn(22L);

        when(mbox.recv(any(Subject[].class)))
            .thenReturn(new FaultMessage(0,2))
            .thenReturn((VoltMessage)null);
        when(mbox.recvBlocking(any(Subject[].class), eq(5L)))
            .thenReturn(make(site12Sfm.but(with(sfmSource, 0L))))
            .thenReturn(make(site12Sfm.but(with(sfmSource, 3L))))
            ;

        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1,2), sfmSurvived(0,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(1L,11L,2L,22L));
    }
View Full Code Here

        when(aide.getNewestSafeTransactionForInitiator(1L)).thenReturn(11L);
        when(aide.getNewestSafeTransactionForInitiator(2L)).thenReturn(22L);
        when(mbox.recvBlocking(any(Subject[].class), eq(5L)))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 0L))))
            .thenReturn(new FaultMessage(0,2L))
            ;

        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(1)).deliverFront(any(VoltMessage.class));
        verify(mbox,times(1)).send(any(long[].class), any(VoltMessage.class));
        verify(mbox).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of());

        reset(mbox);
        when(mbox.recvBlocking(any(Subject[].class),eq(5L)))
            .thenReturn(make(siteOneSfm.but(with(sfmSource,3L))))
            .thenReturn(make(siteTwoSfm.but(with(sfmSource,0L))))
            .thenReturn(make(siteTwoSfm.but(with(sfmSource,3L))))
        ;

        decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,2));

        verify(mbox,never()).deliverFront(any(VoltMessage.class));
        verify(mbox,times(2)).send(any(long[].class), any(VoltMessage.class));
        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1,2),sfmSurvived(0,3))));
View Full Code Here

            .thenReturn(make(siteOneSfm.but(with(sfmSource, 0L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 2L))))
            .thenReturn(make(siteOneSfm.but(with(sfmSource, 3L))))
            ;

        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,2,3))));
        verify(aide,atLeast(2)).sendHeartbeats(destinationCaptor.capture());
        assertEquals(destinationCaptor.getValue(), sfmSurvived(0,2,3));
View Full Code Here

        when(aide.getNewestSafeTransactionForInitiator(1L)).thenReturn(11L);

        when(mbox.recvBlocking(any(Subject[].class), eq(5L)))
            .thenReturn(make(um.but(with(sfmSource, 2L))))
            .thenReturn(new FaultMessage(0,1))
        ;
        Map<Long,Long> decision =
                arbiter.reconfigureOnFault(hsids, new FaultMessage(2,1,ImmutableSet.of(0L,2L,3L)));

        verify(mbox,times(1)).deliverFront(any(VoltMessage.class));
        verify(mbox,times(1)).send(any(long[].class), any(VoltMessage.class));
        verify(mbox).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,1,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of());

        reset(mbox);
        when(mbox.recvBlocking(any(Subject[].class), eq(5L)))
            .thenReturn(make(um.but(with(sfmSource, 0L))))
            .thenReturn(make(um.but(with(sfmSource, 3L))))
        ;
        decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,never()).deliverFront(any(VoltMessage.class));
        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(1L,11L));
View Full Code Here

        when(aide.getNewestSafeTransactionForInitiator(0L)).thenReturn(10L);
        when(aide.getNewestSafeTransactionForInitiator(1L)).thenReturn(11L);

        when(mbox.recvBlocking(any(Subject[].class), eq(5L)))
            .thenReturn(make(s23f.but(with(sfmSource,2L),with(sfmFailures,sfmFailed(0)))))
            .thenReturn(new FaultMessage(2L,0L,ImmutableSet.of(1L,2L,3L)))
            .thenReturn(make(s1f.but(with(sfmSource,0L))))
            .thenReturn(make(s23f.but(with(sfmSource,2L))))
            .thenReturn(make(s23f.but(with(sfmSource,3L))))
            .thenReturn(make(uf.but(with(fsfmSource,2L),with(fsfmMsg,s0f))))
            .thenReturn(make(uf.but(with(fsfmSource,3L),with(fsfmMsg,s0f))))
        ;
        Map<Long,Long> decision = arbiter.reconfigureOnFault(hsids, new FaultMessage(0,1));

        verify(mbox,times(0)).deliverFront(any(VoltMessage.class));
        verify(mbox,times(2)).send(any(long[].class), argThat(siteFailureIs(sfmFailed(1), sfmSurvived(0,2,3))));

        assertEquals(decision,ImmutableMap.<Long,Long>of(1L,11L));
View Full Code Here

TOP

Related Classes of org.voltcore.messaging.FaultMessage

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.