Skip to content

Commit 488a057

Browse files
askyrieSongZhen0704
authored andcommitted
fix: delete genesis k8s cache
1 parent 03f6ecf commit 488a057

File tree

1 file changed

+10
-4
lines changed
  • server/controller/genesis/store/kubernetes

1 file changed

+10
-4
lines changed

server/controller/genesis/store/kubernetes/run.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,25 +76,31 @@ func (g *GenesisKubernetes) receiveKubernetesData(kChan chan common.KubernetesIn
7676
for {
7777
select {
7878
case k := <-kChan:
79-
g.data.Store(fmt.Sprintf("%d-%s", k.ORGID, k.ClusterID), k)
79+
g.data.Store(fmt.Sprintf("%d-%s", k.ORGID, k.ClusterID), &k)
8080
case <-g.ctx.Done():
8181
break
8282
}
8383
}
8484
}
8585

8686
func (g *GenesisKubernetes) GetKubernetesData(orgID int, clusterID string) (common.KubernetesInfo, bool) {
87-
k8sDataInterface, ok := g.data.Load(fmt.Sprintf("%d-%s", orgID, clusterID))
87+
key := fmt.Sprintf("%d-%s", orgID, clusterID)
88+
k8sDataInterface, ok := g.data.Load(key)
8889
if !ok {
8990
log.Warningf("kubernetes data not found cluster id (%s)", clusterID, logger.NewORGPrefix(orgID))
9091
return common.KubernetesInfo{}, false
9192
}
92-
k8sData, ok := k8sDataInterface.(common.KubernetesInfo)
93+
k8sData, ok := k8sDataInterface.(*common.KubernetesInfo)
9394
if !ok {
9495
log.Error("kubernetes data interface assert failed", logger.NewORGPrefix(orgID))
9596
return common.KubernetesInfo{}, false
9697
}
97-
return k8sData, true
98+
if time.Now().Sub(k8sData.Epoch) > time.Duration(g.config.GenesisCfg.AgingTime)*time.Second {
99+
log.Debugf("kubernetes data expired cluster id (%s)", clusterID, logger.NewORGPrefix(orgID))
100+
g.data.CompareAndDelete(key, k8sDataInterface)
101+
return common.KubernetesInfo{}, false
102+
}
103+
return *k8sData, true
98104
}
99105

100106
func (g *GenesisKubernetes) GetKubernetesResponse(orgID int, clusterID, destIP string) (map[string][][]byte, error) {

0 commit comments

Comments
 (0)