diff --git a/etcdserver2/etcdhttp/http.go b/etcdserver2/etcdhttp/http.go index ad28372ab..bb3c5ee4e 100644 --- a/etcdserver2/etcdhttp/http.go +++ b/etcdserver2/etcdhttp/http.go @@ -30,6 +30,9 @@ type Peers map[int64][]string func (ps Peers) Pick(id int64) string { addrs := ps[id] + if len(addrs) == 0 { + return "" + } return fmt.Sprintf("http://%s", addrs[rand.Intn(len(addrs))]) } diff --git a/main.go b/main.go index d79ecc8c0..6b369ddd9 100644 --- a/main.go +++ b/main.go @@ -34,6 +34,10 @@ func main() { log.Fatal(err) } + if peers.Pick(id) == "" { + log.Fatalf("%d= must be specified in peers", id) + } + n := raft.Start(id, peers.Ids()) s := &etcdserver.Server{ Store: store.New(),