Commit 795c5e9e authored by Willem Thiart's avatar Willem Thiart
Browse files

Fix: AE response term is set to new current term

parent a2c2934b
...@@ -295,6 +295,7 @@ int raft_recv_appendentries( ...@@ -295,6 +295,7 @@ int raft_recv_appendentries(
else if (me->current_term < ae->term) else if (me->current_term < ae->term)
{ {
raft_set_current_term(me_, ae->term); raft_set_current_term(me_, ae->term);
r->term = ae->term;
raft_become_follower(me_); raft_become_follower(me_);
} }
else if (ae->term < me->current_term) else if (ae->term < me->current_term)
......
...@@ -693,6 +693,7 @@ void TestRaft_follower_recv_appendentries_updates_currentterm_if_term_gt_current ...@@ -693,6 +693,7 @@ void TestRaft_follower_recv_appendentries_updates_currentterm_if_term_gt_current
/* appendentry has newer term, so we change our currentterm */ /* appendentry has newer term, so we change our currentterm */
raft_recv_appendentries(r, raft_get_node(r, 2), &ae, &aer); raft_recv_appendentries(r, raft_get_node(r, 2), &ae, &aer);
CuAssertTrue(tc, 1 == aer.success); CuAssertTrue(tc, 1 == aer.success);
CuAssertTrue(tc, 2 == aer.term);
/* term has been updated */ /* term has been updated */
CuAssertTrue(tc, 2 == raft_get_current_term(r)); CuAssertTrue(tc, 2 == raft_get_current_term(r));
/* and leader has been updated */ /* and leader has been updated */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment