Skip to content

Commit

Permalink
core: change scoreV2 to adapt the higher disk capacity and amp . (#4837
Browse files Browse the repository at this point in the history
…) (#4847)

close #4805, ref #4837

Signed-off-by: bufferflies <1045931706@qq.com>

Co-authored-by: bufferflies <1045931706@qq.com>
  • Loading branch information
ti-chi-bot and bufferflies authored May 30, 2022
1 parent bea87ac commit 0373b3b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion server/core/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ func (s *StoreInfo) regionScoreV2(delta int64, lowSpaceRatio float64) float64 {
var (
K, M float64 = 1, 256 // Experience value to control the weight of the available influence on score
F float64 = 50 // Experience value to prevent some nodes from running out of disk space prematurely.
B = 1e7
B = 1e10
)
F = math.Max(F, C*(1-lowSpaceRatio))
var score float64
Expand Down
8 changes: 6 additions & 2 deletions server/core/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,8 @@ func (s *testStoreSuite) TestLowSpaceScoreV2(c *C) {
small: NewStoreInfoWithAvailable(2, 10*gb, 100*gb, 1.4),
}, {
// store1 and store2 has same available ratio less than 0.2
bigger: NewStoreInfoWithAvailable(1, 10*gb, 1000*gb, 1.4),
small: NewStoreInfoWithAvailable(2, 1*gb, 100*gb, 1.4),
bigger: NewStoreInfoWithAvailable(1, 20*gb, 1000*gb, 1.4),
small: NewStoreInfoWithAvailable(2, 10*gb, 500*gb, 1.4),
}, {
// store1 and store2 has same available ratio
// but the store1 ratio less than store2 ((50-10)/50=0.8<(200-100)/200=0.5)
Expand All @@ -164,6 +164,10 @@ func (s *testStoreSuite) TestLowSpaceScoreV2(c *C) {
// but store1 has higher amp, so store1(60g) has more regionSize (40g)
bigger: NewStoreInfoWithAvailable(1, 80*gb, 100*gb, 3),
small: NewStoreInfoWithAvailable(2, 60*gb, 100*gb, 1),
}, {
// store1's capacity is less than store2's capacity, but store2 has more available space,
bigger: NewStoreInfoWithAvailable(1, 2*gb, 100*gb, 3),
small: NewStoreInfoWithAvailable(2, 100*gb, 10*1000*gb, 3),
}}
for _, v := range testdata {
score1 := v.bigger.regionScoreV2(0, 0.8)
Expand Down
2 changes: 1 addition & 1 deletion server/core/test_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func NewTestRegionInfo(start, end []byte) *RegionInfo {
}}
}

// NewStoreInfoWithAvailable is create with available and capacity
// NewStoreInfoWithAvailable is created with available and capacity
func NewStoreInfoWithAvailable(id, available, capacity uint64, amp float64) *StoreInfo {
stats := &pdpb.StoreStats{}
stats.Capacity = capacity
Expand Down

0 comments on commit 0373b3b

Please sign in to comment.