Browse Source

Merge pull request #2624 from yichengq/fix-raft-storage

raft: lock storage when compact it
Yicheng Qin 10 years ago
parent
commit
fa96e64b43
1 changed files with 2 additions and 0 deletions
  1. 2 0
      raft/storage.go

+ 2 - 0
raft/storage.go

@@ -194,6 +194,8 @@ func (ms *MemoryStorage) CreateSnapshot(i uint64, cs *pb.ConfState, data []byte)
 // It is the application's responsibility to not attempt to compact an index
 // greater than raftLog.applied.
 func (ms *MemoryStorage) Compact(compactIndex uint64) error {
+	ms.Lock()
+	defer ms.Unlock()
 	offset := ms.ents[0].Index
 	if compactIndex <= offset {
 		return ErrCompacted