Glen Geng created RATIS-998: ------------------------------- Summary: shouldWithholdVotes() should be triggered for handling higher term Key: RATIS-998 URL: https://issues.apache.org/jira/browse/RATIS-998 Project: Ratis Issue Type: Bug Components: server Affects Versions: 0.5.0 Reporter: Glen Geng
shouldWithholdVotes() should be triggered for handling higher term Current code is ``` private boolean shouldWithholdVotes(long candidateTerm) { if (state.getCurrentTerm() < candidateTerm) { return false; } else if (isLeader()) { return true; } else { // following a leader and not yet timeout return isFollower() && state.hasLeader() && role.getFollowerState().map(FollowerState::shouldWithholdVotes).orElse(false); } } ``` Modify to ``` private boolean shouldWithholdVotes(long candidateTerm) { if (state.getCurrentTerm() >= candidateTerm) { return false; } else if (isLeader()) { return true; } else { // following a leader and not yet timeout return isFollower() && state.hasLeader() && role.getFollowerState().map(FollowerState::shouldWithholdVotes).orElse(false); } } ``` -- This message was sent by Atlassian Jira (v8.3.4#803005)