Skip to content

Commit 3cbfdfc

Browse files
liwwillemt
authored andcommitted
DAOS-333 server: Fix recv AE response return code
When the calling replica isn't in the leader state, raft_recv_appendentries_response() should return RAFT_ERR_NOT_LEADER instead of -1. Signed-off-by: Li Wei <wei.g.li@intel.com>
1 parent 37571ad commit 3cbfdfc

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/raft_server.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ int raft_recv_appendentries_response(raft_server_t* me_,
230230
return 0;
231231

232232
if (!raft_is_leader(me_))
233-
return -1;
233+
return RAFT_ERR_NOT_LEADER;
234234

235235
/* If response contains term T > currentTerm: set currentTerm = T
236236
and convert to follower (§5.3) */

tests/test_server.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -3074,7 +3074,7 @@ void TestRaft_leader_recv_appendentries_response_retry_only_if_leader(CuTest * t
30743074
aer.success = 1;
30753075
aer.current_idx = 1;
30763076
aer.first_idx = 1;
3077-
CuAssertTrue(tc, -1 == raft_recv_appendentries_response(r, raft_get_node(r, 2), &aer));
3077+
CuAssertTrue(tc, RAFT_ERR_NOT_LEADER == raft_recv_appendentries_response(r, raft_get_node(r, 2), &aer));
30783078
CuAssertTrue(tc, NULL == sender_poll_msg_data(sender));
30793079
}
30803080

0 commit comments

Comments
 (0)