Browse Source

Rework collection resultion for `ec.rebuild`, in preparation for parallelization. (#7420)

* Rework collection resultion for `ec.rebuild`, in preparation for parallelization.

See https://github.com/seaweedfs/seaweedfs/issues/7416 .

* simplify

* Update weed/shell/command_ec_rebuild.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: chrislu <chris.lu@gmail.com>
Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
pull/7271/merge
Lisandro Pin 2 days ago
committed by GitHub
parent
commit
1668c1042b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 18
      weed/shell/command_ec_rebuild.go

18
weed/shell/command_ec_rebuild.go

@ -79,20 +79,20 @@ func (c *commandEcRebuild) Do(args []string, commandEnv *CommandEnv, writer io.W
return err
}
var collections []string
if *collection == "EACH_COLLECTION" {
collections, err := ListCollectionNames(commandEnv, false, true)
collections, err = ListCollectionNames(commandEnv, false, true)
if err != nil {
return err
}
fmt.Printf("rebuildEcVolumes collections %+v\n", len(collections))
for _, c := range collections {
fmt.Printf("rebuildEcVolumes collection %+v\n", c)
if err = rebuildEcVolumes(commandEnv, allEcNodes, c, writer, *applyChanges); err != nil {
return err
}
}
} else {
if err = rebuildEcVolumes(commandEnv, allEcNodes, *collection, writer, *applyChanges); err != nil {
collections = []string{*collection}
}
fmt.Printf("rebuildEcVolumes for %d collection(s)\n", len(collections))
for _, c := range collections {
fmt.Printf("rebuildEcVolumes collection %s\n", c)
if err = rebuildEcVolumes(commandEnv, allEcNodes, c, writer, *applyChanges); err != nil {
return err
}
}

Loading…
Cancel
Save