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
6430c51f
Commit
6430c51f
authored
Dec 11, 2018
by
Yossi Gottlieb
Browse files
Fix leaks.
parent
2d680b42
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/raft_server.c
View file @
6430c51f
...
@@ -572,7 +572,7 @@ static int __should_grant_vote(raft_server_private_t* me, msg_requestvote_t* vr)
...
@@ -572,7 +572,7 @@ static int __should_grant_vote(raft_server_private_t* me, msg_requestvote_t* vr)
return
1
;
return
1
;
raft_entry_t
*
ety
=
raft_get_entry_from_idx
((
void
*
)
me
,
current_idx
);
raft_entry_t
*
ety
=
raft_get_entry_from_idx
((
void
*
)
me
,
current_idx
);
in
t
ety_term
;
raft_term_
t
ety_term
;
// TODO: add test
// TODO: add test
if
(
ety
)
{
if
(
ety
)
{
...
@@ -1147,9 +1147,11 @@ int raft_msg_entry_response_committed(raft_server_t* me_,
...
@@ -1147,9 +1147,11 @@ int raft_msg_entry_response_committed(raft_server_t* me_,
raft_entry_t
*
ety
=
raft_get_entry_from_idx
(
me_
,
r
->
idx
);
raft_entry_t
*
ety
=
raft_get_entry_from_idx
(
me_
,
r
->
idx
);
if
(
!
ety
)
if
(
!
ety
)
return
0
;
return
0
;
raft_term_t
ety_term
=
ety
->
term
;
raft_entry_release
(
ety
);
/* entry from another leader has invalidated this entry message */
/* entry from another leader has invalidated this entry message */
if
(
r
->
term
!=
ety
->
term
)
if
(
r
->
term
!=
ety
_
term
)
return
-
1
;
return
-
1
;
return
r
->
idx
<=
raft_get_commit_idx
(
me_
);
return
r
->
idx
<=
raft_get_commit_idx
(
me_
);
}
}
...
@@ -1345,6 +1347,8 @@ int raft_begin_snapshot(raft_server_t *me_, int flags)
...
@@ -1345,6 +1347,8 @@ int raft_begin_snapshot(raft_server_t *me_, int flags)
raft_entry_t
*
ety
=
raft_get_entry_from_idx
(
me_
,
snapshot_target
);
raft_entry_t
*
ety
=
raft_get_entry_from_idx
(
me_
,
snapshot_target
);
if
(
!
ety
)
if
(
!
ety
)
return
-
1
;
return
-
1
;
raft_term_t
ety_term
=
ety
->
term
;
raft_entry_release
(
ety
);
/* we need to get all the way to the commit idx */
/* we need to get all the way to the commit idx */
int
e
=
raft_apply_all
(
me_
);
int
e
=
raft_apply_all
(
me_
);
...
@@ -1353,7 +1357,7 @@ int raft_begin_snapshot(raft_server_t *me_, int flags)
...
@@ -1353,7 +1357,7 @@ int raft_begin_snapshot(raft_server_t *me_, int flags)
assert
(
raft_get_commit_idx
(
me_
)
==
raft_get_last_applied_idx
(
me_
));
assert
(
raft_get_commit_idx
(
me_
)
==
raft_get_last_applied_idx
(
me_
));
raft_set_snapshot_metadata
(
me_
,
ety
->
term
,
snapshot_target
);
raft_set_snapshot_metadata
(
me_
,
ety
_
term
,
snapshot_target
);
me
->
snapshot_in_progress
=
1
;
me
->
snapshot_in_progress
=
1
;
me
->
snapshot_flags
=
flags
;
me
->
snapshot_flags
=
flags
;
...
...
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