mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-11-24 08:46:54 +08:00
Replaced goto with Idiomatic Map Approach
This commit is contained in:
@@ -871,6 +871,7 @@ func (s *AdminServer) getEcVolumeHealthMetrics(volumeID uint32) (*EcVolumeHealth
|
|||||||
}
|
}
|
||||||
|
|
||||||
if resp.TopologyInfo != nil {
|
if resp.TopologyInfo != nil {
|
||||||
|
serverSet := make(map[string]struct{})
|
||||||
for _, dc := range resp.TopologyInfo.DataCenterInfos {
|
for _, dc := range resp.TopologyInfo.DataCenterInfos {
|
||||||
for _, rack := range dc.RackInfos {
|
for _, rack := range dc.RackInfos {
|
||||||
for _, node := range rack.DataNodeInfos {
|
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
|
// Check if this node has EC shards for our volume
|
||||||
for _, ecShardInfo := range diskInfo.EcShardInfos {
|
for _, ecShardInfo := range diskInfo.EcShardInfos {
|
||||||
if ecShardInfo.Id == volumeID {
|
if ecShardInfo.Id == volumeID {
|
||||||
servers = append(servers, node.Id)
|
serverSet[node.Id] = struct{}{}
|
||||||
goto nextNode // Found shards on this node, move to next node
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nextNode:
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for server := range serverSet {
|
||||||
|
servers = append(servers, server)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user