Hi Pedro,
On 10/24/14 10:40, Pedro Teixeira wrote:
> [...]
> 8. eventually node A gets connected to the network
> 9. node A currentTerm is much higher than any term of any other node,
> never accepting any AppendEntries call because of that
>
> Because of this, node A might never get functional again.
> I think the paper is clear about step 5, where the node increments the
> currentTerm when restarting another election cycle, or am I reading it
> wrong?
>
You may have missed these two details:
- all messages contains the term of the sender
- whenever a node receives a message, if the sender's term is higher
than its own term, then it updates its own term to the sender's one
and convert to follower state.
(See the paper Fig.2, "Rules for servers -> All Servers, item 2 of the
list, and section 5.1 "Raft basics" of the paper).
Therefore, when node A gets connected to the network again, all nodes it
contacts will quickly update to node A's term.
--
Hugues Evrard
INRIA / LIG - Team CONVECS