raftexample: added build instruction and minor refactoring

This commit is contained in:
Trung Nguyen 2019-02-21 15:00:38 -05:00
parent 8c228d692b
commit 74d6df2bd6
No known key found for this signature in database
GPG Key ID: 4636434ED9505EB7
2 changed files with 12 additions and 2 deletions

View File

@ -6,6 +6,16 @@ raftexample is an example usage of etcd's [raft library](../../raft). It provide
## Getting Started
### Building raftexample
Clone `etcd` to `<your directory>/src/go.etcd.io/etcd`
```sh
export GOPATH=<your directory>
cd <your directory>/src/go.etcd.io/etcd/contrib/raftexample
go build -o raftexample
```
### Running single node raftexample
First start a single-member cluster of raftexample:

View File

@ -48,8 +48,8 @@ func newKVStore(snapshotter *snap.Snapshotter, proposeC chan<- string, commitC <
func (s *kvstore) Lookup(key string) (string, bool) {
s.mu.RLock()
defer s.mu.RUnlock()
v, ok := s.kvStore[key]
s.mu.RUnlock()
return v, ok
}
@ -106,7 +106,7 @@ func (s *kvstore) recoverFromSnapshot(snapshot []byte) error {
return err
}
s.mu.Lock()
defer s.mu.Unlock()
s.kvStore = store
s.mu.Unlock()
return nil
}