diff options
Diffstat (limited to 'src/main/java/protocols/implementations/VSRaftProtocol.java')
| -rw-r--r-- | src/main/java/protocols/implementations/VSRaftProtocol.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/protocols/implementations/VSRaftProtocol.java b/src/main/java/protocols/implementations/VSRaftProtocol.java index 8c36b68..d0066e0 100644 --- a/src/main/java/protocols/implementations/VSRaftProtocol.java +++ b/src/main/java/protocols/implementations/VSRaftProtocol.java @@ -387,11 +387,6 @@ public class VSRaftProtocol extends VSAbstractProtocol { if (messageTerm > currentTerm) { becomeFollower(messageTerm, messageLeaderId); - } else if (messageTerm == currentTerm) { - leaderId = messageLeaderId; - isLeader = false; - isCandidate = false; - resetElectionTimeout(); } else { return; } @@ -400,6 +395,13 @@ public class VSRaftProtocol extends VSAbstractProtocol { return; } + if (messageTerm == currentTerm) { + leaderId = messageLeaderId; + isLeader = false; + isCandidate = false; + resetElectionTimeout(); + } + logIndex = messageLogIndex; VSMessage appendAck = new VSMessage(); |
