diff options
| author | yourchanges <yourchanges@gmail.com> | 2015-02-12 17:32:53 +0800 |
|---|---|---|
| committer | yourchanges <yourchanges@gmail.com> | 2015-02-12 17:32:53 +0800 |
| commit | 2adf4a108b595ec8b4503b34665591741fa4f963 (patch) | |
| tree | da968af4fa066dfd281ae0ef4e6d59d806fed10e /go/storage | |
| parent | 55c40997b1cd9e33eaa841b8abf5e1678773dd1c (diff) | |
| parent | eff83a87d126faf0dd5b05876690271777f41e65 (diff) | |
| download | seaweedfs-2adf4a108b595ec8b4503b34665591741fa4f963.tar.xz seaweedfs-2adf4a108b595ec8b4503b34665591741fa4f963.zip | |
Merge pull request #6 from chrislusf/master
merge
Diffstat (limited to 'go/storage')
| -rw-r--r-- | go/storage/store.go | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/go/storage/store.go b/go/storage/store.go index 2c4434b81..d280175f2 100644 --- a/go/storage/store.go +++ b/go/storage/store.go @@ -11,6 +11,7 @@ import ( "github.com/chrislusf/weed-fs/go/glog" "github.com/chrislusf/weed-fs/go/operation" + "github.com/chrislusf/weed-fs/go/security" "github.com/chrislusf/weed-fs/go/util" "github.com/golang/protobuf/proto" ) @@ -260,7 +261,7 @@ func (s *Store) SetRack(rack string) { func (s *Store) SetBootstrapMaster(bootstrapMaster string) { s.masterNodes = NewMasterNodes(bootstrapMaster) } -func (s *Store) Join() (masterNode string, e error) { +func (s *Store) Join() (masterNode string, secretKey security.Secret, e error) { masterNode, e = s.masterNodes.findMaster() if e != nil { return @@ -314,22 +315,23 @@ func (s *Store) Join() (masterNode string, e error) { data, err := proto.Marshal(joinMessage) if err != nil { - return "", err + return "", "", err } jsonBlob, err := util.PostBytes("http://"+masterNode+"/dir/join", data) if err != nil { s.masterNodes.reset() - return "", err + return "", "", err } var ret operation.JoinResult if err := json.Unmarshal(jsonBlob, &ret); err != nil { - return masterNode, err + return masterNode, "", err } if ret.Error != "" { - return masterNode, errors.New(ret.Error) + return masterNode, "", errors.New(ret.Error) } s.volumeSizeLimit = ret.VolumeSizeLimit + secretKey = security.Secret(ret.SecretKey) s.connected = true return } @@ -353,7 +355,7 @@ func (s *Store) Write(i VolumeId, n *Needle) (size uint32, err error) { } if s.volumeSizeLimit < v.ContentSize()+3*uint64(size) { glog.V(0).Infoln("volume", i, "size", v.ContentSize(), "will exceed limit", s.volumeSizeLimit) - if _, e := s.Join(); e != nil { + if _, _, e := s.Join(); e != nil { glog.V(0).Infoln("error when reporting size:", e) } } |
