diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go index 767db3aea..dfdf25333 100644 --- a/weed/server/filer_server.go +++ b/weed/server/filer_server.go @@ -120,20 +120,14 @@ func (fs *FilerServer) setMasterNode(masterNode string) { } func (fs *FilerServer) detectHealthyMaster(masterNode string) (master string, e error) { - statUrl := "http://" + masterNode + "/stats" - glog.V(4).Infof("Connecting to %s ...", statUrl) - _, e = util.Get(statUrl) - if e != nil { + if e = checkMaster(masterNode); e != nil { fs.masterNodes.Reset() for i := 0; i <= 3; i++ { master, e = fs.masterNodes.FindMaster() if e != nil { continue } else { - statUrl := "http://" + master + "/stats" - glog.V(4).Infof("Connecting to %s ...", statUrl) - _, e = util.Get(statUrl) - if e == nil { + if e = checkMaster(masterNode); e == nil { break } } @@ -143,3 +137,10 @@ func (fs *FilerServer) detectHealthyMaster(masterNode string) (master string, e } return } + +func checkMaster(masterNode string) error { + statUrl := "http://" + masterNode + "/stats" + glog.V(4).Infof("Connecting to %s ...", statUrl) + _, e := util.Get(statUrl) + return e +}