[transfer] fix and trigger generates event twice bug (#266)

* [transfer] fix and trigger generates event twice bug
* [monapi] stra excl all leaf nodes under exclNid
This commit is contained in:
youtwo123 2020-07-22 17:08:38 +08:00 committed by GitHub
parent 16a39410b8
commit 7abec2ccb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 15 deletions

View File

@ -232,10 +232,15 @@ func GetLeafNids(nid int64, exclNid []int64) ([]int64, error) {
return ids, nil
}
exclLeafIds, err := GetExclLeafIds(exclNid)
if err != nil {
return leafIds, err
}
for _, id := range ids {
idsMap[id] = true
}
for _, id := range exclNid {
for _, id := range exclLeafIds {
delete(idsMap, id)
}
@ -256,3 +261,19 @@ func removeDuplicateElement(addrs []string) []string {
}
return result
}
// GetExclLeafIds 获取排除节点下的叶子节点
func GetExclLeafIds(exclNid []int64) (leafIds []int64, err error) {
for _, nid := range exclNid {
node, err := model.NodeGet("id", nid)
if err != nil {
return leafIds, err
}
ids, err := node.LeafIds()
if err != nil {
return leafIds, err
}
leafIds = append(leafIds, ids...)
}
return leafIds, nil
}

View File

@ -76,8 +76,7 @@ func getStrategy() {
continue
}
for _, exp := range stra.Exprs {
metric := exp.Metric
metric := stra.Exprs[0].Metric
for _, endpoint := range stra.Endpoints {
key := str.PK(metric, endpoint) //TODO get straMap key 此处需要优化
k1 := key[0:2] //为了加快查找,增加一层 mapkey 为计算出来的 hash 的前 2 位
@ -95,7 +94,6 @@ func getStrategy() {
}
}
}
}
cache.StraMap.ReInit(straMap)
}