Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotAchieveGoalIfBeyondRoundTimeout()
        public virtual void ShouldNotAchieveGoalIfBeyondRoundTimeout()
        {
            FakeClock clock = Clocks.fakeClock();
            StubLog   log   = new StubLog(this);

            log.AppendIndex = 10;
            CatchupGoalTracker catchupGoalTracker = new CatchupGoalTracker(log, clock, ROUND_TIMEOUT, CATCHUP_TIMEOUT);

            clock.Forward(ROUND_TIMEOUT + 5, TimeUnit.MILLISECONDS);
            catchupGoalTracker.UpdateProgress((new FollowerState()).onSuccessResponse(10));

            assertFalse(catchupGoalTracker.GoalAchieved);
            assertFalse(catchupGoalTracker.Finished);
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldFailToAchieveGoalDueToCatchupTimeoutExpiringEvenThoughWeDoEventuallyAchieveTarget()
        public virtual void ShouldFailToAchieveGoalDueToCatchupTimeoutExpiringEvenThoughWeDoEventuallyAchieveTarget()
        {
            FakeClock clock = Clocks.fakeClock();
            StubLog   log   = new StubLog(this);

            log.AppendIndex = 10;
            CatchupGoalTracker catchupGoalTracker = new CatchupGoalTracker(log, clock, ROUND_TIMEOUT, CATCHUP_TIMEOUT);

            // when
            clock.Forward(CATCHUP_TIMEOUT + 10, TimeUnit.MILLISECONDS);
            catchupGoalTracker.UpdateProgress((new FollowerState()).onSuccessResponse(10));

            // then
            assertFalse(catchupGoalTracker.GoalAchieved);
            assertTrue(catchupGoalTracker.Finished);
        }
Esempio n. 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotFinishIfRoundsNotExhausted()
        public virtual void ShouldNotFinishIfRoundsNotExhausted()
        {
            FakeClock clock = Clocks.fakeClock();
            StubLog   log   = new StubLog(this);

            long appendIndex = 10;

            log.AppendIndex = appendIndex;
            CatchupGoalTracker catchupGoalTracker = new CatchupGoalTracker(log, clock, ROUND_TIMEOUT, CATCHUP_TIMEOUT);

            for (int i = 0; i < CatchupGoalTracker.MAX_ROUNDS - 5; i++)
            {
                appendIndex    += 10;
                log.AppendIndex = appendIndex;
                clock.Forward(ROUND_TIMEOUT + 1, TimeUnit.MILLISECONDS);
                catchupGoalTracker.UpdateProgress((new FollowerState()).onSuccessResponse(appendIndex));
            }

            // then
            assertFalse(catchupGoalTracker.GoalAchieved);
            assertFalse(catchupGoalTracker.Finished);
        }
Esempio n. 4
0
 internal CatchingUp(RaftMembershipChanger outerInstance, MemberId member) : base(outerInstance)
 {
     this._outerInstance            = outerInstance;
     this.CatchupGoalTracker        = new CatchupGoalTracker(outerInstance.raftLog, outerInstance.clock, outerInstance.electionTimeout, outerInstance.catchupTimeout);
     outerInstance.catchingUpMember = member;
 }