Browse Source
`ec.balance`: Allow EC balancing without collections. (#6488)
pull/6491/head
Lisandro Pin
1 week ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
4 additions and
4 deletions
-
weed/shell/command_ec_common.go
|
|
@ -1067,10 +1067,6 @@ func (ecb *ecBalancer) collectVolumeIdToEcNodes(collection string) map[needle.Vo |
|
|
|
} |
|
|
|
|
|
|
|
func EcBalance(commandEnv *CommandEnv, collections []string, dc string, ecReplicaPlacement *super_block.ReplicaPlacement, maxParallelization int, applyBalancing bool) (err error) { |
|
|
|
if len(collections) == 0 { |
|
|
|
return fmt.Errorf("no collections to balance") |
|
|
|
} |
|
|
|
|
|
|
|
// collect all ec nodes
|
|
|
|
allEcNodes, totalFreeEcSlots, err := collectEcNodesForDC(commandEnv, dc) |
|
|
|
if err != nil { |
|
|
@ -1088,11 +1084,15 @@ func EcBalance(commandEnv *CommandEnv, collections []string, dc string, ecReplic |
|
|
|
maxParallelization: maxParallelization, |
|
|
|
} |
|
|
|
|
|
|
|
if len(collections) == 0 { |
|
|
|
fmt.Printf("WARNING: No collections to balance EC volumes across.") |
|
|
|
} |
|
|
|
for _, c := range collections { |
|
|
|
if err = ecb.balanceEcVolumes(c); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if err := ecb.balanceEcRacks(); err != nil { |
|
|
|
return fmt.Errorf("balance ec racks: %v", err) |
|
|
|
} |
|
|
|