diff --git a/etcdserver/member.go b/etcdserver/member.go index b4d40252f..51e03a65e 100644 --- a/etcdserver/member.go +++ b/etcdserver/member.go @@ -72,9 +72,9 @@ func NewMember(name string, peerURLs types.URLs, clusterName string, now *time.T return m } -// Pick chooses a random address from a given Member's addresses, and returns it as -// an addressible URI. If the given member does not exist, an empty string is returned. -func (m *Member) Pick() string { +// PickPeerURL chooses a random address from a given Member's PeerURLs. +// It will panic if there is no PeerURLs available in Member. +func (m *Member) PickPeerURL() string { if len(m.PeerURLs) == 0 { panic("member should always have some peer url") } diff --git a/etcdserver/member_test.go b/etcdserver/member_test.go index 011007c3a..336f0b7ed 100644 --- a/etcdserver/member_test.go +++ b/etcdserver/member_test.go @@ -78,7 +78,7 @@ func TestMemberPick(t *testing.T) { } for i, tt := range tests { for j := 0; j < 1000; j++ { - a := tt.memb.Pick() + a := tt.memb.PickPeerURL() if !tt.urls[a] { t.Errorf("#%d: returned ID %q not in expected range!", i, a) break diff --git a/etcdserver/sender.go b/etcdserver/sender.go index 62aaaa71b..655608662 100644 --- a/etcdserver/sender.go +++ b/etcdserver/sender.go @@ -60,7 +60,7 @@ func send(c *http.Client, cl *Cluster, m raftpb.Message, ss *stats.ServerStats, log.Printf("etcdhttp: no member for %d", m.To) return } - u := fmt.Sprintf("%s%s", memb.Pick(), raftPrefix) + u := fmt.Sprintf("%s%s", memb.PickPeerURL(), raftPrefix) // TODO: don't block. we should be able to have 1000s // of messages out at a time.