master: add configurable volume growth toml setting

This commit is contained in:
Chris Lu
2020-02-03 18:15:16 -08:00
parent 382ff218d3
commit dc786a63ac
2 changed files with 19 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/storage/needle"
"github.com/chrislusf/seaweedfs/weed/storage/super_block"
"github.com/chrislusf/seaweedfs/weed/util"
"google.golang.org/grpc"
@@ -48,15 +49,20 @@ func NewDefaultVolumeGrowth() *VolumeGrowth {
// one replication type may need rp.GetCopyCount() actual volumes
// given copyCount, how many logical volumes to create
func (vg *VolumeGrowth) findVolumeCount(copyCount int) (count int) {
v := util.GetViper()
v.SetDefault("master.volume_growth.copy_1", 7)
v.SetDefault("master.volume_growth.copy_2", 6)
v.SetDefault("master.volume_growth.copy_3", 3)
v.SetDefault("master.volume_growth.copy_other", 1)
switch copyCount {
case 1:
count = 7
count = v.GetInt("master.volume_growth.copy_1")
case 2:
count = 6
count = v.GetInt("master.volume_growth.copy_2")
case 3:
count = 3
count = v.GetInt("master.volume_growth.copy_3")
default:
count = 1
count = v.GetInt("master.volume_growth.copy_other")
}
return
}