Browse Source

Merge pull request #13 from xiangli-cmu/master

Clean up prints and fix len problem
polvi 12 years ago
parent
commit
780e9f5f12
1 changed files with 4 additions and 7 deletions
  1. 4 7
      etcd.go

+ 4 - 7
etcd.go

@@ -206,7 +206,7 @@ func startRaft(securityType int) {
 	if raftServer.IsLogEmpty() {
 
 		// start as a leader in a new cluster
-		if len(cluster) == 0 {
+		if len(cluster) == 1 && cluster[0] == "" {
 			raftServer.StartLeader()
 
 			time.Sleep(time.Millisecond * 20)
@@ -228,7 +228,7 @@ func startRaft(securityType int) {
 
 			for _, machine := range cluster {
 
-				err := joinCluster(raftServer, machine)
+				err = joinCluster(raftServer, machine)
 				if err != nil {
 					debug("cannot join to cluster via machine %s", machine)
 				} else {
@@ -518,10 +518,7 @@ func joinCluster(s *raft.Server, serverName string) error {
 
 	resp, err := t.Post(fmt.Sprintf("%s/join", serverName), &b)
 
-	debug("Finish Join Request to %s", serverName)
-
 	for {
-		fmt.Println(err, resp)
 		if err != nil {
 			return fmt.Errorf("Unable to join: %v", err)
 		}
@@ -530,14 +527,14 @@ func joinCluster(s *raft.Server, serverName string) error {
 			if resp.StatusCode == http.StatusOK {
 				return nil
 			}
-
 			if resp.StatusCode == http.StatusTemporaryRedirect {
-				fmt.Println("redirect")
 				address = resp.Header.Get("Location")
 				debug("Leader is %s", address)
 				debug("Send Join Request to %s", address)
 				json.NewEncoder(&b).Encode(command)
 				resp, err = t.Post(fmt.Sprintf("%s/join", address), &b)
+			} else {
+				return fmt.Errorf("Unable to join")
 			}
 		}