Ejemplo n.º 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setup() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void Setup()
        {
            // given
            RaftLog raftLog = new InMemoryRaftLog();

            raftLog.Append(new RaftLogEntry(0, new RaftTestGroup(0)));

            _raft = (new RaftMachineBuilder(_myself, 3, RaftTestMemberSetBuilder.INSTANCE)).raftLog(raftLog).outbound(_outbound).build();
        }
Ejemplo n.º 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldWaitUntilLeaderCommitIsAvailable() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldWaitUntilLeaderCommitIsAvailable()
        {
            OnDemandJobScheduler jobScheduler = new OnDemandJobScheduler();
            MembershipWaiter     waiter       = new MembershipWaiter(member(0), jobScheduler, () => _dbHealth, 500, NullLogProvider.Instance, new Monitors());

            InMemoryRaftLog raftLog = new InMemoryRaftLog();

            raftLog.Append(new RaftLogEntry(0, valueOf(0)));
            ExposedRaftState raftState = RaftStateBuilder.raftState().votingMembers(member(0)).leaderCommit(0).entryLog(raftLog).commitIndex(0L).build().copy();

            RaftMachine raft = mock(typeof(RaftMachine));

            when(raft.State()).thenReturn(raftState);

            CompletableFuture <bool> future = waiter.WaitUntilCaughtUpMember(raft);

            jobScheduler.RunJob();

            future.get(1, TimeUnit.SECONDS);
        }
Ejemplo n.º 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldAppendNewLeaderBarrierAfterBecomingLeader() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldAppendNewLeaderBarrierAfterBecomingLeader()
        {
            // Given
            FakeClock                fakeClock    = Clocks.fakeClock();
            OnDemandTimerService     timerService = new OnDemandTimerService(fakeClock);
            OutboundMessageCollector messages     = new OutboundMessageCollector();

            InMemoryRaftLog raftLog = new InMemoryRaftLog();
            RaftMachine     raft    = (new RaftMachineBuilder(_myself, 3, RaftTestMemberSetBuilder.INSTANCE)).timerService(timerService).clock(fakeClock).outbound(messages).raftLog(raftLog).build();

            raft.InstallCoreState(new RaftCoreState(new MembershipEntry(0, asSet(_myself, _member1, _member2))));
            raft.PostRecoveryActions();

            // When
            timerService.Invoke(ELECTION);
            raft.Handle(voteResponse().from(_member1).term(1).grant().build());

            // Then
            assertEquals(new NewLeaderBarrier(), readLogEntry(raftLog, raftLog.AppendIndex()).content());
        }