修复DataMap无法在多个节点之间共享的问题

This commit is contained in:
GoEdgeLab
2023-03-19 10:26:05 +08:00
parent a4b432401a
commit 6d5a30e882
3 changed files with 36 additions and 2 deletions

View File

@@ -743,11 +743,27 @@ func (this *NodeService) FindCurrentNodeConfig(ctx context.Context, req *pb.Find
if err != nil {
return nil, err
}
var cacheMap = this.findClusterCacheMap(clusterId, req.NodeTaskVersion)
var dataMap *shared.DataMap
if req.UseDataMap {
dataMap = shared.NewDataMap()
// 是否有共用的
if cacheMap != nil {
cachedDataMap, ok := cacheMap.Get("DataMap")
if ok {
dataMap = cachedDataMap.(*shared.DataMap)
}
}
if dataMap == nil {
dataMap = shared.NewDataMap()
}
} else {
// 如果没有使用DataMap但是获取的缓存是有DataMap的需要重新获取
_, ok := cacheMap.Get("DataMap")
if ok {
cacheMap = nil
}
}
var cacheMap = this.findClusterCacheMap(clusterId, req.NodeTaskVersion)
nodeConfig, err := models.SharedNodeDAO.ComposeNodeConfig(tx, nodeId, dataMap, cacheMap)
if err != nil {
return nil, err