Replaced goto with Idiomatic Map Approach

This commit is contained in:
chrislu
2025-08-10 17:48:18 -07:00
parent cdba261913
commit cd75202da8

View File

@@ -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
})