diff options
Diffstat (limited to 'go/topology')
| -rw-r--r-- | go/topology/node.go | 2 | ||||
| -rw-r--r-- | go/topology/rack.go | 10 | ||||
| -rw-r--r-- | go/topology/topology.go | 3 | ||||
| -rw-r--r-- | go/topology/volume_layout.go | 37 |
4 files changed, 25 insertions, 27 deletions
diff --git a/go/topology/node.go b/go/topology/node.go index 10955fa72..72d989b83 100644 --- a/go/topology/node.go +++ b/go/topology/node.go @@ -54,7 +54,7 @@ type NodeImpl struct { // the first node must satisfy filterFirstNodeFn(), the rest nodes must have one free slot func (n *NodeImpl) RandomlyPickNodes(numberOfNodes int, filterFirstNodeFn func(dn Node) error) (firstNode Node, restNodes []Node, err error) { candidates := make([]Node, 0, len(n.children)) - errs := make([]string, 0) + var errs []string for _, node := range n.children { if err := filterFirstNodeFn(node); err == nil { candidates = append(candidates, node) diff --git a/go/topology/rack.go b/go/topology/rack.go index 40e19dd0d..1ca2f8de8 100644 --- a/go/topology/rack.go +++ b/go/topology/rack.go @@ -50,13 +50,13 @@ func (r *Rack) GetOrCreateDataNode(ip string, port int, publicUrl string, maxVol return dn } -func (rack *Rack) ToMap() interface{} { +func (r *Rack) ToMap() interface{} { m := make(map[string]interface{}) - m["Id"] = rack.Id() - m["Max"] = rack.GetMaxVolumeCount() - m["Free"] = rack.FreeSpace() + m["Id"] = r.Id() + m["Max"] = r.GetMaxVolumeCount() + m["Free"] = r.FreeSpace() var dns []interface{} - for _, c := range rack.Children() { + for _, c := range r.Children() { dn := c.(*DataNode) dns = append(dns, dn.ToMap()) } diff --git a/go/topology/topology.go b/go/topology/topology.go index b64ff420a..d96847ed2 100644 --- a/go/topology/topology.go +++ b/go/topology/topology.go @@ -82,9 +82,8 @@ func (t *Topology) loadConfiguration(configurationFile string) error { if e == nil { t.configuration, e = NewConfiguration(b) return e - } else { - glog.V(0).Infoln("Using default configurations.") } + glog.V(0).Infoln("Using default configurations.") return nil } diff --git a/go/topology/volume_layout.go b/go/topology/volume_layout.go index 4b1d3dad9..e5667e322 100644 --- a/go/topology/volume_layout.go +++ b/go/topology/volume_layout.go @@ -100,29 +100,28 @@ func (vl *VolumeLayout) PickForWrite(count int, option *VolumeGrowOption) (*stor return &vid, count, locationList, nil } return nil, 0, nil, errors.New("Strangely vid " + vid.String() + " is on no machine!") - } else { - var vid storage.VolumeId - var locationList *VolumeLocationList - counter := 0 - for _, v := range vl.writables { - volumeLocationList := vl.vid2location[v] - for _, dn := range volumeLocationList.list { - if dn.GetDataCenter().Id() == NodeId(option.DataCenter) { - if option.Rack != "" && dn.GetRack().Id() != NodeId(option.Rack) { - continue - } - if option.DataNode != "" && dn.Id() != NodeId(option.DataNode) { - continue - } - counter++ - if rand.Intn(counter) < 1 { - vid, locationList = v, volumeLocationList - } + } + var vid storage.VolumeId + var locationList *VolumeLocationList + counter := 0 + for _, v := range vl.writables { + volumeLocationList := vl.vid2location[v] + for _, dn := range volumeLocationList.list { + if dn.GetDataCenter().Id() == NodeId(option.DataCenter) { + if option.Rack != "" && dn.GetRack().Id() != NodeId(option.Rack) { + continue + } + if option.DataNode != "" && dn.Id() != NodeId(option.DataNode) { + continue + } + counter++ + if rand.Intn(counter) < 1 { + vid, locationList = v, volumeLocationList } } } - return &vid, count, locationList, nil } + return &vid, count, locationList, nil } func (vl *VolumeLayout) GetActiveVolumeCount(option *VolumeGrowOption) int { |
