예제 #1
0
        public override Response Description()
        {
            MemberId         myself                   = _topologyService.myself();
            MemberId         leader                   = Leader;
            IList <MemberId> votingMembers            = new List <MemberId>(_raftMembershipManager.votingMembers());
            bool             participatingInRaftGroup = votingMembers.Contains(myself) && Objects.nonNull(leader);

            long lastAppliedRaftIndex = _commandIndexTracker.AppliedCommandIndex;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.time.Duration millisSinceLastLeaderMessage;
            Duration millisSinceLastLeaderMessage;

            if (myself.Equals(leader))
            {
                millisSinceLastLeaderMessage = Duration.ofMillis(0);
            }
            else
            {
                millisSinceLastLeaderMessage = _raftMessageTimerResetMonitor.durationSinceLastMessage();
            }

            return(StatusResponse(lastAppliedRaftIndex, participatingInRaftGroup, votingMembers, _databaseHealth.Healthy, myself, leader, millisSinceLastLeaderMessage, true));
        }
예제 #2
0
 public virtual ISet <MemberId> VotingMembers()
 {
     return(_membershipManager.votingMembers());
 }