def debug_statistics(self): return { "node": lib.raft_get_nodeid(self.raft), "state": state2str(lib.raft_get_state(self.raft)), "current_idx": lib.raft_get_current_idx(self.raft), "last_log_term": lib.raft_get_last_log_term(self.raft), "current_term": lib.raft_get_current_term(self.raft), "commit_idx": lib.raft_get_commit_idx(self.raft), "last_applied_idx": lib.raft_get_last_applied_idx(self.raft), "log_count": lib.raft_get_log_count(self.raft), "peers": lib.raft_get_num_nodes(self.raft), "voting_peers": lib.raft_get_num_voting_nodes(self.raft), "connection_status": connectstatus2str(self.connection_status), "voting_change_in_progress": lib.raft_voting_change_is_in_progress(self.raft), "removed": getattr(self, 'removed', False), }
def do_membership_snapshot(self): self.snapshot = Snapshot() for i in range(0, lib.raft_get_num_nodes(self.raft)): n = lib.raft_get_node_from_idx(self.raft, i) id = lib.raft_node_get_id(n) if 0 == lib.raft_node_is_addition_committed(n): id = -1 self.snapshot.members.append( SnapshotMember(id, lib.raft_node_is_voting_committed(n)))