diff options
| author | Lisandro Pin <lisandro.pin@proton.ch> | 2024-12-04 18:00:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-04 09:00:55 -0800 |
| commit | 351efa134d8a3158026f6560da723b7440a7c62f (patch) | |
| tree | 3d188ea26f34083bcf7a10df3e6744842ed4a062 /weed/shell/command_ec_balance.go | |
| parent | b65eb2ec4569891495ae184bf6090e0e500961e3 (diff) | |
| download | seaweedfs-351efa134d8a3158026f6560da723b7440a7c62f.tar.xz seaweedfs-351efa134d8a3158026f6560da723b7440a7c62f.zip | |
Account for replication placement settings when balancing EC shards across racks. (#6316)
Diffstat (limited to 'weed/shell/command_ec_balance.go')
| -rw-r--r-- | weed/shell/command_ec_balance.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/weed/shell/command_ec_balance.go b/weed/shell/command_ec_balance.go index 24dea3e2d..15d47eee7 100644 --- a/weed/shell/command_ec_balance.go +++ b/weed/shell/command_ec_balance.go @@ -50,7 +50,7 @@ func (c *commandEcBalance) Help() string { averageShardsPerEcRack = totalShardNumber / numRacks // totalShardNumber is 14 for now, later could varies for each dc ecShardsToMove = select overflown ec shards from racks with ec shard counts > averageShardsPerEcRack for each ecShardsToMove { - destRack = pickOneRack(rack~shardCount, rack~volumeIdShardCount, averageShardsPerEcRack) + destRack = pickOneRack(rack~shardCount, rack~volumeIdShardCount, averageShardsPerEcRack, ecShardReplicaPlacement) destVolumeServers = volume servers on the destRack pickOneEcNodeAndMoveOneShard(destVolumeServers) } @@ -101,7 +101,7 @@ func (c *commandEcBalance) Do(args []string, commandEnv *CommandEnv, writer io.W balanceCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError) collection := balanceCommand.String("collection", "EACH_COLLECTION", "collection name, or \"EACH_COLLECTION\" for each collection") dc := balanceCommand.String("dataCenter", "", "only apply the balancing for this dataCenter") - shardReplicaPlacement := balanceCommand.String("shardReplicaPlacement", "", "replica placement for EC shards, or master default if empty (currently unused)") + shardReplicaPlacement := balanceCommand.String("shardReplicaPlacement", "", "replica placement for EC shards, or master default if empty") applyBalancing := balanceCommand.Bool("force", false, "apply the balancing plan") if err = balanceCommand.Parse(args); err != nil { return nil |
