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) {
800
800
reply .progress .entries = RAFT_LOG_LAST_INDEX (r ) + 1 ;
801
801
reply .progress .bytes = e -> bytes ;
802
802
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
+
803
809
if (reply .progress .entries > 0 ) {
804
810
reply .term = RAFT_LOG (r , reply .progress .entries - 1 ).term ;
805
811
} else {
@@ -875,6 +881,7 @@ static void raft_handle_update(raft_t r, raft_msg_update_t *m) {
875
881
876
882
reply .success = true;
877
883
finish :
884
+ assert ((reply .progress .entries == m -> previndex + 1 ) || (reply .progress .bytes == 0 ));
878
885
raft_send (r , sender , & reply , sizeof (reply ));
879
886
}
880
887
You can’t perform that action at this time.
0 commit comments