org.apache.zookeeper.server.quorum.flexible.QuorumVerifier.getVotingMembers()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(96)

本文整理了Java中org.apache.zookeeper.server.quorum.flexible.QuorumVerifier.getVotingMembers方法的一些代码示例,展示了QuorumVerifier.getVotingMembers的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QuorumVerifier.getVotingMembers方法的具体详情如下:
包路径:org.apache.zookeeper.server.quorum.flexible.QuorumVerifier
类名称:QuorumVerifier
方法名:getVotingMembers

QuorumVerifier.getVotingMembers介绍

暂无

代码示例

代码示例来源:origin: apache/zookeeper

public boolean isDistributed() {
  return quorumVerifier!=null && (!standaloneEnabled || quorumVerifier.getVotingMembers().size() > 1);
}

代码示例来源:origin: apache/zookeeper

public boolean hasSid(long sid) {
  for (QuorumVerifierAcksetPair qvAckset : qvAcksetPairs) {
    if (!qvAckset.getQuorumVerifier().getVotingMembers().containsKey(sid)) {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: apache/zookeeper

/**
 * Observers are not contained in this view, only nodes with
 * PeerType=PARTICIPANT.
 */
public Map<Long,QuorumPeer.QuorumServer> getVotingView() {
  return getQuorumVerifier().getVotingMembers();
}

代码示例来源:origin: apache/zookeeper

public void addQuorumVerifier(QuorumVerifier qv) {
  qvAcksetPairs.add(new QuorumVerifierAcksetPair(qv,
      new HashSet<Long>(qv.getVotingMembers().size())));
}

代码示例来源:origin: apache/zookeeper

private boolean isParticipant(long sid) {
  return self.getQuorumVerifier().getVotingMembers().containsKey(sid);
}

代码示例来源:origin: apache/zookeeper

private void updateObserverMasterList() {
  if (observerMasterPort <= 0) {
    return; // observer masters not enabled
  }
  observerMasters.clear();
  StringBuilder sb = new StringBuilder();
  for (QuorumServer server : quorumVerifier.getVotingMembers().values()) {
    InetSocketAddress addr = new InetSocketAddress(server.addr.getAddress(), observerMasterPort);
    observerMasters.add(new QuorumServer(server.id, addr));
    sb.append(addr).append(",");
  }
  LOG.info("Updated learner master list to be {}", sb.toString());
  Collections.shuffle(observerMasters);
}

代码示例来源:origin: apache/zookeeper

public synchronized Set<Long> getCurrentAndNextConfigVoters() {
  Set<Long> voterIds = new HashSet<Long>(getQuorumVerifier()
      .getVotingMembers().keySet());
  if (getLastSeenQuorumVerifier() != null) {
    voterIds.addAll(getLastSeenQuorumVerifier().getVotingMembers()
        .keySet());
  }
  return voterIds;
}

代码示例来源:origin: apache/zookeeper

public boolean addAck(Long sid) {
  boolean change = false;
  for (QuorumVerifierAcksetPair qvAckset : qvAcksetPairs) {
    if (qvAckset.getQuorumVerifier().getVotingMembers().containsKey(sid)) {
      qvAckset.getAckset().add(sid);
      change = true;
    }
  }
  return change;
}

代码示例来源:origin: apache/zookeeper

/**
 * Returns the initial vote value of server identifier.
 *
 * @return long
 */
private long getInitId(){
  if(self.getQuorumVerifier().getVotingMembers().containsKey(self.getId()))
    return self.getId();
  else return Long.MIN_VALUE;
}

代码示例来源:origin: apache/zookeeper

int numParticipators = qv.getVotingMembers().size();
int numObservers = qv.getObservingMembers().size();
if (numParticipators == 0) {
  for (QuorumServer s : qv.getVotingMembers().values()) {
    if (s.electionAddr == null)
      throw new IllegalArgumentException(

代码示例来源:origin: apache/zookeeper

/**
 * Returns true if a quorum in qv is connected and synced with the leader
 * and false otherwise
 *
 * @param qv, a QuorumVerifier
 */
public boolean isQuorumSynced(QuorumVerifier qv) {
  HashSet<Long> ids = new HashSet<Long>();
  if (qv.getVotingMembers().containsKey(self.getId()))
    ids.add(self.getId());
  synchronized (forwardingFollowers) {
    for (LearnerHandler learnerHandler: forwardingFollowers){
      if (learnerHandler.synced() && qv.getVotingMembers().containsKey(learnerHandler.getSid())){
        ids.add(learnerHandler.getSid());
      }
    }
  }
  return qv.containsQuorum(ids);
}

代码示例来源:origin: apache/zookeeper

if (newQVAcksetPair.getQuorumVerifier().getVotingMembers().containsKey(self.getId()) &&
    newQVAcksetPair.getQuorumVerifier().getVotingMembers().get(self.getId()).addr.equals(self.getQuorumAddress())){
  return self.getId();

代码示例来源:origin: apache/zookeeper

private boolean updateLearnerType(QuorumVerifier newQV) {
  //check if I'm an observer in new config
  if (newQV.getObservingMembers().containsKey(getId())) {
    if (getLearnerType()!=LearnerType.OBSERVER){
      setLearnerType(LearnerType.OBSERVER);
      LOG.info("Becoming an observer");
      reconfigFlagSet();
      return true;
    } else {
      return false;           
    }
  } else if (newQV.getVotingMembers().containsKey(getId())) {
    if (getLearnerType()!=LearnerType.PARTICIPANT){
      setLearnerType(LearnerType.PARTICIPANT);
      LOG.info("Becoming a voting participant");
      reconfigFlagSet();
      return true;
    } else {
      return false;
    }
  }
  // I'm not in the view
 if (getLearnerType()!=LearnerType.PARTICIPANT){
   setLearnerType(LearnerType.PARTICIPANT);
   LOG.info("Becoming a non-voting participant");
   reconfigFlagSet();
   return true;
 }
 return false;
}

代码示例来源:origin: apache/zookeeper

} else {
  long currentLeaderId = getCurrentVote().getId();
  QuorumServer myleaderInCurQV = prevQV.getVotingMembers().get(currentLeaderId);
  QuorumServer myleaderInNewQV = qv.getVotingMembers().get(currentLeaderId);
  leaderChange = (myleaderInCurQV == null || myleaderInCurQV.addr == null || 
          myleaderInNewQV == null || !myleaderInCurQV.addr.equals(myleaderInNewQV.addr));

代码示例来源:origin: apache/zookeeper

votingMembers.put(2L, null);
votingMembers.put(3L, null);
when(quorumVerifierMock.getVotingMembers()).thenReturn(votingMembers);

代码示例来源:origin: apache/zookeeper

qp.getQuorumVerifier().getVotingMembers().get(j));

代码示例来源:origin: apache/zookeeper

request.qv.setVersion(request.getHdr().getZxid());
if (QuorumPeerConfig.isStandaloneEnabled() && request.qv.getVotingMembers().size() < 2) {
  String msg = "Reconfig failed - new configuration must include at least 2 followers";
  LOG.warn(msg);
  throw new KeeperException.BadArgumentsException(msg);
} else if (request.qv.getVotingMembers().size() < 1) {
  String msg = "Reconfig failed - new configuration must include at least 1 follower";
  LOG.warn(msg);

代码示例来源:origin: apache/zookeeper

if (self.getQuorumVerifier().getVotingMembers().containsKey(f.getSid())){
  followerSet.add(f.getSid());

相关文章