Merge pull request #1784 from yichengq/234

raft: not compact log if the compact index < first index of the log
release-2.0
Yicheng Qin 2014-11-25 11:52:01 -08:00
commit dd57c1f189
1 changed files with 4 additions and 0 deletions

View File

@ -534,6 +534,10 @@ func (r *raft) compact(index uint64, nodes []uint64, d []byte) {
if index > r.raftLog.applied {
panic(fmt.Sprintf("raft: compact index (%d) exceeds applied index (%d)", index, r.raftLog.applied))
}
if index < r.raftLog.offset {
//TODO: return an error?
return
}
r.raftLog.snap(d, index, r.raftLog.term(index), nodes)
r.raftLog.compact(index)
}