Browse Source

fix: consider EC shard count in volume.balance capacity calculation (#7034)

* fix: consider EC shard count in volume.balance capacity calculation

* update the implementation of capacityByMaxVolumeCount to include the EC shard usage
pull/7051/head
FQHSLycopene 2 months ago
committed by GitHub
parent
commit
e1f8da0db3
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      weed/shell/command_volume_balance.go

6
weed/shell/command_volume_balance.go

@ -225,7 +225,11 @@ func capacityByMaxVolumeCount(diskType types.DiskType) CapacityFunc {
if !found {
return 0
}
return float64(diskInfo.MaxVolumeCount)
var ecShardCount int
for _, ecShardInfo := range diskInfo.EcShardInfos {
ecShardCount += erasure_coding.ShardBits(ecShardInfo.EcIndexBits).ShardIdCount()
}
return float64(diskInfo.MaxVolumeCount) - float64(ecShardCount)/erasure_coding.DataShardsCount
}
}

Loading…
Cancel
Save