浏览代码

Merge pull request #2307 from xiang90/refactor_cluster

etcdserver: getOtherPeerURLs -> getRemotePeerURLs
Xiang Li 11 年之前
父节点
当前提交
29f05bb217
共有 4 个文件被更改,包括 11 次插入13 次删除
  1. 1 1
      etcdmain/etcd.go
  2. 8 9
      etcdserver/cluster_util.go
  3. 1 2
      etcdserver/server.go
  4. 1 1
      etcdserver/server_test.go

+ 1 - 1
etcdmain/etcd.go

@@ -249,7 +249,7 @@ func startProxy(cfg *config) error {
 	}
 
 	uf := func() []string {
-		gcls, err := etcdserver.GetClusterFromPeers(peerURLs, tr)
+		gcls, err := etcdserver.GetClusterFromRemotePeers(peerURLs, tr)
 		// TODO: remove the 2nd check when we fix GetClusterFromPeers
 		// GetClusterFromPeers should not return nil error with an invaild empty cluster
 		if err != nil {

+ 8 - 9
etcdserver/cluster_util.go

@@ -29,8 +29,7 @@ import (
 // isMemberBootstrapped tries to check if the given member has been bootstrapped
 // in the given cluster.
 func isMemberBootstrapped(cl *Cluster, member string, tr *http.Transport) bool {
-	us := getOtherPeerURLs(cl, member)
-	rcl, err := getClusterFromPeers(us, false, tr)
+	rcl, err := getClusterFromRemotePeers(getRemotePeerURLs(cl, member), false, tr)
 	if err != nil {
 		return false
 	}
@@ -45,17 +44,17 @@ func isMemberBootstrapped(cl *Cluster, member string, tr *http.Transport) bool {
 	return false
 }
 
-// GetClusterFromPeers takes a set of URLs representing etcd peers, and
+// GetClusterFromRemotePeers takes a set of URLs representing etcd peers, and
 // attempts to construct a Cluster by accessing the members endpoint on one of
 // these URLs. The first URL to provide a response is used. If no URLs provide
 // a response, or a Cluster cannot be successfully created from a received
 // response, an error is returned.
-func GetClusterFromPeers(urls []string, tr *http.Transport) (*Cluster, error) {
-	return getClusterFromPeers(urls, true, tr)
+func GetClusterFromRemotePeers(urls []string, tr *http.Transport) (*Cluster, error) {
+	return getClusterFromRemotePeers(urls, true, tr)
 }
 
 // If logerr is true, it prints out more error messages.
-func getClusterFromPeers(urls []string, logerr bool, tr *http.Transport) (*Cluster, error) {
+func getClusterFromRemotePeers(urls []string, logerr bool, tr *http.Transport) (*Cluster, error) {
 	cc := &http.Client{
 		Transport: tr,
 		Timeout:   time.Second,
@@ -94,12 +93,12 @@ func getClusterFromPeers(urls []string, logerr bool, tr *http.Transport) (*Clust
 	return nil, fmt.Errorf("etcdserver: could not retrieve cluster information from the given urls")
 }
 
-// getOtherPeerURLs returns peer urls of other members in the cluster. The
+// getRemotePeerURLs returns peer urls of remote members in the cluster. The
 // returned list is sorted in ascending lexicographical order.
-func getOtherPeerURLs(cl ClusterInfo, self string) []string {
+func getRemotePeerURLs(cl ClusterInfo, local string) []string {
 	us := make([]string, 0)
 	for _, m := range cl.Members() {
-		if m.Name == self {
+		if m.Name == local {
 			continue
 		}
 		us = append(us, m.PeerURLs...)

+ 1 - 2
etcdserver/server.go

@@ -157,8 +157,7 @@ func NewServer(cfg *ServerConfig) (*EtcdServer, error) {
 
 	switch {
 	case !haveWAL && !cfg.NewCluster:
-		us := getOtherPeerURLs(cfg.Cluster, cfg.Name)
-		existingCluster, err := GetClusterFromPeers(us, cfg.Transport)
+		existingCluster, err := GetClusterFromRemotePeers(getRemotePeerURLs(cfg.Cluster, cfg.Name), cfg.Transport)
 		if err != nil {
 			return nil, fmt.Errorf("cannot fetch cluster info from peer urls: %v", err)
 		}

+ 1 - 1
etcdserver/server_test.go

@@ -1135,7 +1135,7 @@ func TestGetOtherPeerURLs(t *testing.T) {
 	}
 	for i, tt := range tests {
 		cl := NewClusterFromMembers("", types.ID(0), tt.membs)
-		urls := getOtherPeerURLs(cl, tt.self)
+		urls := getRemotePeerURLs(cl, tt.self)
 		if !reflect.DeepEqual(urls, tt.wurls) {
 			t.Errorf("#%d: urls = %+v, want %+v", i, urls, tt.wurls)
 		}