From 0c2ffa84af683d3d91e86697c5a051acfa09a107 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Wed, 24 Jul 2013 10:40:17 -0700 Subject: [PATCH 1/2] do not try the empty machine name --- etcd.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etcd.go b/etcd.go index d8f955d46..754e4405b 100644 --- a/etcd.go +++ b/etcd.go @@ -252,7 +252,9 @@ func startRaft(securityType int) { raftServer.StartFollower() for _, machine := range cluster { - + if len(machine) == 0 { + continue + } err = joinCluster(raftServer, machine) if err != nil { debug("cannot join to cluster via machine %s %s", machine, err) From 6c6f94fedd6dc299fa826482e8d525a5815d4d3b Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Wed, 24 Jul 2013 17:25:23 -0700 Subject: [PATCH 2/2] change func para due to the api change in go-raft --- etcd.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/etcd.go b/etcd.go index 754e4405b..cde70dd2d 100644 --- a/etcd.go +++ b/etcd.go @@ -225,6 +225,9 @@ func startRaft(securityType int) { raftServer.SetElectionTimeout(ELECTIONTIMTOUT) raftServer.SetHeartbeatTimeout(HEARTBEATTIMEOUT) + // start to response to raft requests + go startRaftTransport(info.RaftPort, securityType) + if raftServer.IsLogEmpty() { // start as a leader in a new cluster @@ -249,7 +252,7 @@ func startRaft(securityType int) { // start as a follower in a existing cluster } else { - raftServer.StartFollower() + raftServer.StartFollower(false) for _, machine := range cluster { if len(machine) == 0 { @@ -270,7 +273,7 @@ func startRaft(securityType int) { } else { // rejoin the previous cluster - raftServer.StartFollower() + raftServer.StartFollower(true) debug("%s restart as a follower", raftServer.Name()) } @@ -279,9 +282,6 @@ func startRaft(securityType int) { go raftServer.Snapshot() } - // start to response to raft requests - go startRaftTransport(info.RaftPort, securityType) - } // Create transporter using by raft server