7
"github.com/cubefs/cubefs/proto"
8
"github.com/cubefs/cubefs/util/log"
12
UpdateNodeInfoTicket = 1 * time.Minute
13
DefaultDeleteBatchCounts = 128
17
deleteBatchCount uint64
21
nodeInfo = &NodeInfo{}
22
nodeInfoStopC = make(chan struct{}, 0)
23
deleteWorkerSleepMs uint64 = 0
24
dirChildrenNumLimit uint32 = proto.DefaultDirChildrenNumLimit
27
func DeleteBatchCount() uint64 {
28
val := atomic.LoadUint64(&nodeInfo.deleteBatchCount)
30
val = DefaultDeleteBatchCounts
35
func updateDeleteBatchCount(val uint64) {
36
atomic.StoreUint64(&nodeInfo.deleteBatchCount, val)
39
func updateDeleteWorkerSleepMs(val uint64) {
40
atomic.StoreUint64(&deleteWorkerSleepMs, val)
43
func updateDirChildrenNumLimit(val uint32) {
44
atomic.StoreUint32(&dirChildrenNumLimit, val)
47
func DeleteWorkerSleepMs() {
48
val := atomic.LoadUint64(&deleteWorkerSleepMs)
50
time.Sleep(time.Duration(val) * time.Millisecond)
54
func (m *MetaNode) startUpdateNodeInfo() {
55
ticker := time.NewTicker(UpdateNodeInfoTicket)
60
log.LogInfo("metanode nodeinfo gorutine stopped")
64
m.metadataManager.checkVolVerList()
69
func (m *MetaNode) stopUpdateNodeInfo() {
70
nodeInfoStopC <- struct{}{}
73
func (m *MetaNode) updateNodeInfo() {
74
// clusterInfo, err := getClusterInfo()
75
clusterInfo, err := masterClient.AdminAPI().GetClusterInfo()
77
log.LogErrorf("[updateNodeInfo] %s", err.Error())
80
updateDeleteBatchCount(clusterInfo.MetaNodeDeleteBatchCount)
81
updateDeleteWorkerSleepMs(clusterInfo.MetaNodeDeleteWorkerSleepMs)
83
if clusterInfo.DirChildrenNumLimit < proto.MinDirChildrenNumLimit {
84
log.LogWarnf("updateNodeInfo: DirChildrenNumLimit probably not enabled on master, set to default value(%v)",
85
proto.DefaultDirChildrenNumLimit)
86
atomic.StoreUint32(&dirChildrenNumLimit, proto.DefaultDirChildrenNumLimit)
88
atomic.StoreUint32(&dirChildrenNumLimit, clusterInfo.DirChildrenNumLimit)
89
log.LogInfof("updateNodeInfo: DirChildrenNumLimit(%v)", clusterInfo.DirChildrenNumLimit)
92
// updateDirChildrenNumLimit(clusterInfo.DirChildrenNumLimit)