ec.encode: Fix resolution of target collections. (#6585)
* Don't ignore empty (`""`) collection names when computing collections for a given volume ID.
* `ec.encode`: Fix resolution of target collections.
When no `volumeId` parameter is provided, compute volumes
based on the provided collection name, even if it's empty (`""`).
This restores behavior to before recent EC rebalancing rework. See also
ec30a504ba/weed/shell/command_ec_encode.go (L99) .
This commit is contained in:
@@ -248,14 +248,14 @@ func collectCollectionsForVolumeIds(t *master_pb.TopologyInfo, vids []needle.Vol
|
||||
for _, diskInfo := range dn.DiskInfos {
|
||||
for _, vi := range diskInfo.VolumeInfos {
|
||||
for _, vid := range vids {
|
||||
if needle.VolumeId(vi.Id) == vid && vi.Collection != "" {
|
||||
if needle.VolumeId(vi.Id) == vid {
|
||||
found[vi.Collection] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, ecs := range diskInfo.EcShardInfos {
|
||||
for _, vid := range vids {
|
||||
if needle.VolumeId(ecs.Id) == vid && ecs.Collection != "" {
|
||||
if needle.VolumeId(ecs.Id) == vid {
|
||||
found[ecs.Collection] = true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user