Skip to content

voteGranted值,在Vote 阶段是否会被Pre-Vote影响到  #48

@yunyun22

Description

@yunyun22

由于某些原因,如果preVote的回调晚于startVote,那么存在 voteGranted的值是STATE_PRE_CANDIDATE阶段的,而不是STATE_CANDIDATE阶段。voteGranted的赋值是否应该放在条件判断之后?或者是我忽略了某些细节,导致理解不正确?

    private class PreVoteResponseCallback implements RpcCallback<RaftProto.VoteResponse> {
        @Override
        public void success(RaftProto.VoteResponse response) {
            lock.lock();
            try {
                //这里的赋值,是否应该放在条件判断之后?
                peer.setVoteGranted(response.getGranted());
                if (currentTerm != request.getTerm() || state != NodeState.STATE_PRE_CANDIDATE) {
                    LOG.info("ignore preVote RPC result");
                    return;
                }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions