aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/rack.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/topology/rack.go')
-rw-r--r--weed/topology/rack.go4
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()