diff options
Diffstat (limited to 'weed/topology/rack.go')
| -rw-r--r-- | weed/topology/rack.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/topology/rack.go b/weed/topology/rack.go index 97e0a400e..d388e9c61 100644 --- a/weed/topology/rack.go +++ b/weed/topology/rack.go @@ -32,7 +32,9 @@ func (r *Rack) FindDataNode(ip string, port int) *DataNode { return nil } func (r *Rack) GetOrCreateDataNode(ip string, port int, grpcPort int, publicUrl string, maxVolumeCounts map[string]uint32) *DataNode { - for _, c := range r.Children() { + r.Lock() + defer r.Unlock() + for _, c := range r.children { dn := c.(*DataNode) if dn.MatchLocation(ip, port) { dn.LastSeen = time.Now().Unix() |
