aboutsummaryrefslogtreecommitdiff
path: root/go/topology
diff options
context:
space:
mode:
Diffstat (limited to 'go/topology')
-rw-r--r--go/topology/node.go2
-rw-r--r--go/topology/rack.go10
-rw-r--r--go/topology/topology.go3
-rw-r--r--go/topology/volume_layout.go37
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 {