Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
RedisLabs Raft
Commits
74f27d87
Commit
74f27d87
authored
Nov 16, 2015
by
Willem Thiart
Browse files
last_log_term is based off log
parent
285fdffb
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/raft_server.c
View file @
74f27d87
...
...
@@ -473,7 +473,12 @@ int raft_send_requestvote(raft_server_t* me_, int node)
rv
.
term
=
me
->
current_term
;
rv
.
last_log_idx
=
raft_get_current_idx
(
me_
);
rv
.
last_log_term
=
raft_get_current_term
(
me_
);
if
(
0
<
rv
.
last_log_idx
)
{
raft_entry_t
*
ety
=
raft_get_entry_from_idx
(
me_
,
rv
.
last_log_idx
);
if
(
ety
)
rv
.
last_log_term
=
ety
->
term
;
}
rv
.
candidate_id
=
raft_get_nodeid
(
me_
);
if
(
me
->
cb
.
send_requestvote
)
me
->
cb
.
send_requestvote
(
me_
,
me
->
udata
,
node
,
&
rv
);
...
...
tests/test_server.c
View file @
74f27d87
...
...
@@ -1258,15 +1258,16 @@ void TestRaft_candidate_requestvote_includes_logidx(CuTest * tc)
ety
.
id
=
101
;
raft_append_entry
(
r
,
&
ety
);
ety
.
id
=
102
;
ety
.
term
=
3
;
raft_append_entry
(
r
,
&
ety
);
raft_send_requestvote
(
r
,
1
);
msg_requestvote_t
*
rv
=
sender_poll_msg_data
(
sender
);
CuAssertTrue
(
tc
,
NULL
!=
rv
);
CuAssert
True
(
tc
,
3
==
rv
->
last_log_idx
);
CuAssert
True
(
tc
,
5
==
rv
->
term
);
CuAssert
True
(
tc
,
5
==
rv
->
last_log_term
);
CuAssert
True
(
tc
,
1
==
rv
->
candidate_id
);
CuAssert
IntEquals
(
tc
,
3
,
rv
->
last_log_idx
);
CuAssert
IntEquals
(
tc
,
5
,
rv
->
term
);
CuAssert
IntEquals
(
tc
,
3
,
rv
->
last_log_term
);
CuAssert
IntEquals
(
tc
,
1
,
rv
->
candidate_id
);
}
void
TestRaft_candidate_recv_requestvote_response_becomes_follower_if_current_term_is_less_than_term
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment