raft: len(entries) before Lock, use firstIndex

- To avoid unnecessary locking in case len(entries) == 0
- use firstIndex method
This commit is contained in:
Gyu-Ho Lee 2016-06-24 23:46:20 -07:00
parent 0c820dc7ba
commit 6a48961895

View File

@ -226,12 +226,14 @@ func (ms *MemoryStorage) Compact(compactIndex uint64) error {
// TODO (xiangli): ensure the entries are continuous and
// entries[0].Index > ms.entries[0].Index
func (ms *MemoryStorage) Append(entries []pb.Entry) error {
ms.Lock()
defer ms.Unlock()
if len(entries) == 0 {
return nil
}
first := ms.ents[0].Index + 1
ms.Lock()
defer ms.Unlock()
first := ms.firstIndex()
last := entries[0].Index + uint64(len(entries)) - 1
// shortcut if there is no new entry.