[#1005] engine: Drop shards weights
All checks were successful
DCO action / DCO (pull_request) Successful in 4m7s
Vulncheck / Vulncheck (pull_request) Successful in 4m53s
Build / Build Components (1.21) (pull_request) Successful in 5m46s
Build / Build Components (1.20) (pull_request) Successful in 6m21s
Tests and linters / Staticcheck (pull_request) Successful in 7m45s
Tests and linters / Lint (pull_request) Successful in 8m44s
Tests and linters / Tests (1.21) (pull_request) Successful in 13m1s
Tests and linters / Tests (1.20) (pull_request) Successful in 15m42s
Tests and linters / Tests with -race (pull_request) Successful in 16m10s
All checks were successful
DCO action / DCO (pull_request) Successful in 4m7s
Vulncheck / Vulncheck (pull_request) Successful in 4m53s
Build / Build Components (1.21) (pull_request) Successful in 5m46s
Build / Build Components (1.20) (pull_request) Successful in 6m21s
Tests and linters / Staticcheck (pull_request) Successful in 7m45s
Tests and linters / Lint (pull_request) Successful in 8m44s
Tests and linters / Tests (1.21) (pull_request) Successful in 13m1s
Tests and linters / Tests (1.20) (pull_request) Successful in 15m42s
Tests and linters / Tests with -race (pull_request) Successful in 16m10s
Unused. Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
abea258b65
commit
2ad433dbcb
8 changed files with 65 additions and 77 deletions
|
@ -254,13 +254,7 @@ func generateShardID() (*shard.ID, error) {
|
|||
return shard.NewIDFromBytes(bin), nil
|
||||
}
|
||||
|
||||
func (e *StorageEngine) shardWeight(sh *shard.Shard) float64 {
|
||||
weightValues := sh.WeightValues()
|
||||
|
||||
return float64(weightValues.FreeSpace)
|
||||
}
|
||||
|
||||
func (e *StorageEngine) sortShardsByWeight(objAddr interface{ EncodeToString() string }) []hashedShard {
|
||||
func (e *StorageEngine) sortShards(objAddr interface{ EncodeToString() string }) []hashedShard {
|
||||
e.mtx.RLock()
|
||||
defer e.mtx.RUnlock()
|
||||
|
||||
|
@ -269,16 +263,7 @@ func (e *StorageEngine) sortShardsByWeight(objAddr interface{ EncodeToString() s
|
|||
for _, sh := range e.shards {
|
||||
shards = append(shards, hashedShard(sh))
|
||||
}
|
||||
return sortShardsByWeight(shards, h)
|
||||
}
|
||||
|
||||
func sortShardsByWeight(shards []hashedShard, h uint64) []hashedShard {
|
||||
weights := make([]float64, 0, len(shards))
|
||||
for _, sh := range shards {
|
||||
weights = append(weights, float64(sh.Shard.WeightValues().FreeSpace))
|
||||
}
|
||||
|
||||
hrw.SortHasherSliceByWeightValue(shards, weights, h)
|
||||
hrw.SortHasherSliceByValue(shards, h)
|
||||
return shards
|
||||
}
|
||||
|
||||
|
@ -296,7 +281,7 @@ func (e *StorageEngine) unsortedShards() []hashedShard {
|
|||
}
|
||||
|
||||
func (e *StorageEngine) iterateOverSortedShards(addr oid.Address, handler func(int, hashedShard) (stop bool)) {
|
||||
for i, sh := range e.sortShardsByWeight(addr) {
|
||||
for i, sh := range e.sortShards(addr) {
|
||||
if handler(i, sh) {
|
||||
break
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue