fix(discovery): remove its own address from peer list to join

This commit is contained in:
Yicheng Qin 2014-02-25 10:43:19 -08:00
parent 23ffafefc0
commit df49265674

View File

@ -164,6 +164,19 @@ func (s *PeerServer) findCluster(discoverURL string, peers []string) {
} }
peers = append(peers, prevPeers...) peers = append(peers, prevPeers...)
// Remove its own peer address from the peer list to join
u, err := url.Parse(s.Config.URL)
if err != nil {
log.Fatalf("cannot parse peer address %v: %v", s.Config.URL, err)
}
filteredPeers := make([]string, 0)
for _, v := range peers {
if v != u.Host {
filteredPeers = append(filteredPeers, v)
}
}
peers = filteredPeers
// if there is backup peer lists, use it to find cluster // if there is backup peer lists, use it to find cluster
if len(peers) > 0 { if len(peers) > 0 {
ok := s.joinCluster(peers) ok := s.joinCluster(peers)