diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-11-11 21:30:14 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-11-11 21:30:14 -0800 |
| commit | ee90236a972acea8722dccfa1b04926d551fc82d (patch) | |
| tree | 7890d2482177caad2fa72b741435bcefff140cf3 /weed/shell | |
| parent | 85f8649320033a46e71b20a588930013c00b3fdf (diff) | |
| parent | d7852ebb3b8900baeff3d806f8fe2404c511aa5d (diff) | |
| download | seaweedfs-ee90236a972acea8722dccfa1b04926d551fc82d.tar.xz seaweedfs-ee90236a972acea8722dccfa1b04926d551fc82d.zip | |
Merge branch 'master' into refactoring_dat_backend
Diffstat (limited to 'weed/shell')
| -rw-r--r-- | weed/shell/command_ec_balance.go | 4 | ||||
| -rw-r--r-- | weed/shell/command_ec_common.go | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/weed/shell/command_ec_balance.go b/weed/shell/command_ec_balance.go index 47ae7bad3..8bf993f4a 100644 --- a/weed/shell/command_ec_balance.go +++ b/weed/shell/command_ec_balance.go @@ -266,6 +266,10 @@ func doBalanceEcShardsAcrossRacks(ctx context.Context, commandEnv *CommandEnv, c for shardId, ecNode := range ecShardsToMove { rackId := pickOneRack(racks, rackToShardCount, averageShardsPerEcRack) + if rackId == "" { + fmt.Printf("ec shard %d.%d at %s can not find a destination rack\n", vid, shardId, ecNode.info.Id) + continue + } var possibleDestinationEcNodes []*EcNode for _, n := range racks[rackId].ecNodes { possibleDestinationEcNodes = append(possibleDestinationEcNodes, n) diff --git a/weed/shell/command_ec_common.go b/weed/shell/command_ec_common.go index d0fe16a68..1e9d96212 100644 --- a/weed/shell/command_ec_common.go +++ b/weed/shell/command_ec_common.go @@ -156,7 +156,7 @@ func countShards(ecShardInfos []*master_pb.VolumeEcShardInformationMessage) (cou } func countFreeShardSlots(dn *master_pb.DataNodeInfo) (count int) { - return int(dn.FreeVolumeCount)*10 - countShards(dn.EcShardInfos) + return int(dn.FreeVolumeCount)*erasure_coding.DataShardsCount - countShards(dn.EcShardInfos) } type RackId string |
