mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
refactoring
This commit is contained in:
parent
95ad56d99d
commit
6bc3dee5b3
|
@ -245,19 +245,15 @@ func collectVolumeIdsForEcEncode(ctx context.Context, commandEnv *CommandEnv, se
|
|||
fmt.Printf("ec encode volumes quiet for: %d seconds\n", quietSeconds)
|
||||
|
||||
vidMap := make(map[uint32]bool)
|
||||
for _, dc := range resp.TopologyInfo.DataCenterInfos {
|
||||
for _, r := range dc.RackInfos {
|
||||
for _, dn := range r.DataNodeInfos {
|
||||
for _, v := range dn.VolumeInfos {
|
||||
if v.Collection == selectedCollection && v.ModifiedAtSecond+quietSeconds < nowUnixSeconds {
|
||||
if float64(v.Size) > fullPercentage/100*float64(resp.VolumeSizeLimitMb)*1024*1024 {
|
||||
vidMap[v.Id] = true
|
||||
}
|
||||
}
|
||||
eachDataNode(resp.TopologyInfo, func(dc string, rack RackId, dn *master_pb.DataNodeInfo) {
|
||||
for _, v := range dn.VolumeInfos {
|
||||
if v.Collection == selectedCollection && v.ModifiedAtSecond+quietSeconds < nowUnixSeconds {
|
||||
if float64(v.Size) > fullPercentage/100*float64(resp.VolumeSizeLimitMb)*1024*1024 {
|
||||
vidMap[v.Id] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
for vid, _ := range vidMap {
|
||||
vids = append(vids, needle.VolumeId(vid))
|
||||
|
|
|
@ -63,20 +63,16 @@ func (c *commandVolumeFixReplication) Do(args []string, commandEnv *CommandEnv,
|
|||
replicatedVolumeLocations := make(map[uint32][]location)
|
||||
replicatedVolumeInfo := make(map[uint32]*master_pb.VolumeInformationMessage)
|
||||
var allLocations []location
|
||||
for _, dc := range resp.TopologyInfo.DataCenterInfos {
|
||||
for _, rack := range dc.RackInfos {
|
||||
for _, dn := range rack.DataNodeInfos {
|
||||
loc := newLocation(dc.Id, rack.Id, dn)
|
||||
for _, v := range dn.VolumeInfos {
|
||||
if v.ReplicaPlacement > 0 {
|
||||
replicatedVolumeLocations[v.Id] = append(replicatedVolumeLocations[v.Id], loc)
|
||||
replicatedVolumeInfo[v.Id] = v
|
||||
}
|
||||
}
|
||||
allLocations = append(allLocations, loc)
|
||||
eachDataNode(resp.TopologyInfo, func(dc string, rack RackId, dn *master_pb.DataNodeInfo) {
|
||||
loc := newLocation(dc.Id, rack.Id, dn)
|
||||
for _, v := range dn.VolumeInfos {
|
||||
if v.ReplicaPlacement > 0 {
|
||||
replicatedVolumeLocations[v.Id] = append(replicatedVolumeLocations[v.Id], loc)
|
||||
replicatedVolumeInfo[v.Id] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
allLocations = append(allLocations, loc)
|
||||
})
|
||||
|
||||
// find all under replicated volumes
|
||||
underReplicatedVolumeLocations := make(map[uint32][]location)
|
||||
|
|
Loading…
Reference in a new issue