aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2017-12-06 00:14:14 -0800
committerChris Lu <chris.lu@gmail.com>2017-12-06 00:14:14 -0800
commit70f6740309b12ee3ddbabf7100fb0dcab2c17fe6 (patch)
tree6e5118544ac9ddbc1beab25dc97f8a5955c11aee
parent9026b3e86eb6442456345a16b7b7c3f592e47823 (diff)
downloadseaweedfs-70f6740309b12ee3ddbabf7100fb0dcab2c17fe6.tar.xz
seaweedfs-70f6740309b12ee3ddbabf7100fb0dcab2c17fe6.zip
better fix for single master restart without peers changing
-rw-r--r--weed/server/raft_server.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/server/raft_server.go b/weed/server/raft_server.go
index 2f0793292..591bc7caf 100644
--- a/weed/server/raft_server.go
+++ b/weed/server/raft_server.go
@@ -55,7 +55,7 @@ func NewRaftServer(r *mux.Router, peers []string, httpAddr string, dataDir strin
if oldPeers, changed := isPeersChanged(s.dataDir, httpAddr, s.peers); changed {
glog.V(0).Infof("Peers Change: %v => %v", oldPeers, s.peers)
os.RemoveAll(path.Join(s.dataDir, "conf"))
- // os.RemoveAll(path.Join(s.dataDir, "log"))
+ os.RemoveAll(path.Join(s.dataDir, "log"))
os.RemoveAll(path.Join(s.dataDir, "snapshot"))
}
@@ -141,6 +141,10 @@ func isPeersChanged(dir string, self string, peers []string) (oldPeers []string,
}
oldPeers = append(oldPeers, self)
+ if len(peers) == 0 && len(oldPeers) <= 1 {
+ return oldPeers, false
+ }
+
sort.Strings(peers)
sort.Strings(oldPeers)