Browse Source

Replaced goto with Idiomatic Map Approach

add-ec-vacuum
chrislu 4 months ago
parent
commit
cd75202da8
  1. 8
      weed/admin/dash/ec_shard_management.go

8
weed/admin/dash/ec_shard_management.go

@ -871,6 +871,7 @@ func (s *AdminServer) getEcVolumeHealthMetrics(volumeID uint32) (*EcVolumeHealth
}
if resp.TopologyInfo != nil {
serverSet := make(map[string]struct{})
for _, dc := range resp.TopologyInfo.DataCenterInfos {
for _, rack := range dc.RackInfos {
for _, node := range rack.DataNodeInfos {
@ -878,15 +879,16 @@ func (s *AdminServer) getEcVolumeHealthMetrics(volumeID uint32) (*EcVolumeHealth
// Check if this node has EC shards for our volume
for _, ecShardInfo := range diskInfo.EcShardInfos {
if ecShardInfo.Id == volumeID {
servers = append(servers, node.Id)
goto nextNode // Found shards on this node, move to next node
serverSet[node.Id] = struct{}{}
}
}
}
}
nextNode:
}
}
for server := range serverSet {
servers = append(servers, server)
}
}
return nil
})

Loading…
Cancel
Save