mirror of
https://github.com/chrislusf/seaweedfs
synced 2024-09-19 15:31:05 +02:00
added typed join result
This commit is contained in:
parent
da0480ad72
commit
9653a54766
8
go/operation/data_struts.go
Normal file
8
go/operation/data_struts.go
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package operation
|
||||||
|
|
||||||
|
import ()
|
||||||
|
|
||||||
|
type JoinResult struct {
|
||||||
|
VolumeSizeLimit uint64 `json:"VolumeSizeLimit,omitempty"`
|
||||||
|
Error string `json:"error,omitempty"`
|
||||||
|
}
|
|
@ -251,10 +251,6 @@ func (s *Store) Status() []*VolumeInfo {
|
||||||
return stats
|
return stats
|
||||||
}
|
}
|
||||||
|
|
||||||
type JoinResult struct {
|
|
||||||
VolumeSizeLimit uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Store) SetDataCenter(dataCenter string) {
|
func (s *Store) SetDataCenter(dataCenter string) {
|
||||||
s.dataCenter = dataCenter
|
s.dataCenter = dataCenter
|
||||||
}
|
}
|
||||||
|
@ -303,10 +299,13 @@ func (s *Store) Join() error {
|
||||||
s.masterNodes.reset()
|
s.masterNodes.reset()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var ret JoinResult
|
var ret operation.JoinResult
|
||||||
if err := json.Unmarshal(jsonBlob, &ret); err != nil {
|
if err := json.Unmarshal(jsonBlob, &ret); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if ret.Error != "" {
|
||||||
|
return errors.New(ret.Error)
|
||||||
|
}
|
||||||
s.volumeSizeLimit = ret.VolumeSizeLimit
|
s.volumeSizeLimit = ret.VolumeSizeLimit
|
||||||
s.connected = true
|
s.connected = true
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package weed_server
|
package weed_server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.google.com/p/weed-fs/go/operation"
|
||||||
"code.google.com/p/weed-fs/go/storage"
|
"code.google.com/p/weed-fs/go/storage"
|
||||||
"code.google.com/p/weed-fs/go/topology"
|
"code.google.com/p/weed-fs/go/topology"
|
||||||
"code.google.com/p/weed-fs/go/util"
|
"code.google.com/p/weed-fs/go/util"
|
||||||
|
@ -39,14 +40,12 @@ func (ms *MasterServer) dirJoinHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
publicUrl := r.FormValue("publicUrl")
|
publicUrl := r.FormValue("publicUrl")
|
||||||
volumes := new([]storage.VolumeInfo)
|
volumes := new([]storage.VolumeInfo)
|
||||||
if err := json.Unmarshal([]byte(r.FormValue("volumes")), volumes); err != nil {
|
if err := json.Unmarshal([]byte(r.FormValue("volumes")), volumes); err != nil {
|
||||||
writeJsonQuiet(w, r, map[string]string{"error": "Cannot unmarshal \"volumes\": " + err.Error()})
|
writeJsonQuiet(w, r, operation.JoinResult{Error: "Cannot unmarshal \"volumes\": " + err.Error()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
debug(s, "volumes", r.FormValue("volumes"))
|
debug(s, "volumes", r.FormValue("volumes"))
|
||||||
ms.Topo.RegisterVolumes(init, *volumes, ip, port, publicUrl, maxVolumeCount, r.FormValue("dataCenter"), r.FormValue("rack"))
|
ms.Topo.RegisterVolumes(init, *volumes, ip, port, publicUrl, maxVolumeCount, r.FormValue("dataCenter"), r.FormValue("rack"))
|
||||||
m := make(map[string]interface{})
|
writeJsonQuiet(w, r, operation.JoinResult{VolumeSizeLimit: uint64(ms.volumeSizeLimitMB) * 1024 * 1024})
|
||||||
m["VolumeSizeLimit"] = uint64(ms.volumeSizeLimitMB) * 1024 * 1024
|
|
||||||
writeJsonQuiet(w, r, m)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ms *MasterServer) dirStatusHandler(w http.ResponseWriter, r *http.Request) {
|
func (ms *MasterServer) dirStatusHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
|
@ -57,6 +57,7 @@ func NewVolumeServer(r *http.ServeMux, ip string, port int, publicUrl string, fo
|
||||||
glog.V(0).Infoln("Reconnected with master")
|
glog.V(0).Infoln("Reconnected with master")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
glog.V(4).Infoln("Failing to talk with master:", err.Error())
|
||||||
if connected {
|
if connected {
|
||||||
connected = false
|
connected = false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue