File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -800,6 +800,12 @@ static void raft_handle_update(raft_t r, raft_msg_update_t *m) {
800800 reply .progress .entries = RAFT_LOG_LAST_INDEX (r ) + 1 ;
801801 reply .progress .bytes = e -> bytes ;
802802
803+ if (m -> previndex > RAFT_LOG_LAST_INDEX (r ))
804+ {
805+ debug ("got an update with previndex=%d > lastindex=%d\n" , m -> previndex , RAFT_LOG_LAST_INDEX (r ));
806+ goto finish ;
807+ }
808+
803809 if (reply .progress .entries > 0 ) {
804810 reply .term = RAFT_LOG (r , reply .progress .entries - 1 ).term ;
805811 } else {
@@ -875,6 +881,7 @@ static void raft_handle_update(raft_t r, raft_msg_update_t *m) {
875881
876882 reply .success = true;
877883finish :
884+ assert ((reply .progress .entries == m -> previndex + 1 ) || (reply .progress .bytes == 0 ));
878885 raft_send (r , sender , & reply , sizeof (reply ));
879886}
880887
You can’t perform that action at this time.
0 commit comments