MCPcopy Create free account
hub / github.com/deepflowio/deepflow / Refresh

Method Refresh

server/controller/recorder/cache/cache.go:238–327  ·  view source on GitHub ↗

所有缓存的刷新入口

()

Source from the content-addressed store, hash-verified

236
237// 所有缓存的刷新入口
238func (c *Cache) Refresh() {
239 defer c.ResetRefreshSignal(RefreshSignalCallerSelfHeal)
240 c.triggerTagrecorderHealers()
241
242 if !c.needSelfHealing() {
243 log.Info("self-healing is disabled", c.metadata.LogPrefixes)
244 return
245 }
246
247 log.Infof("cache self-healing started, sequence now: %d", c.Sequence, c.metadata.LogPrefixes)
248 oldDiffBaseDataSet := c.DiffBaseDataSet
249 oldToolDataSet := c.ToolDataSet
250
251 c.DiffBaseDataSet = diffbase.NewDataSet(c.metadata)
252 c.ToolDataSet = tool.NewDataSet(c.metadata)
253 c.SetLogLevel(logging.DEBUG, RefreshSignalCallerSelfHeal)
254 c.refreshFailed = false
255
256 // 分类刷新资源的相关缓存
257
258 // TODO refactor
259 // sub domain需要使用vpc、vm的映射数据
260 c.refreshRegions()
261 c.refreshAZs()
262 c.refreshVPCs()
263 c.refreshHosts()
264 c.randomSleep()
265 c.refreshVMs()
266 c.randomSleep()
267
268 // 仅domain缓存需要刷新的资源
269 if c.metadata.GetSubDomainLcuuid() == "" {
270 c.refreshSubDomains()
271 vrouterIDs := c.refreshVRouters()
272 c.refreshRoutingTables(vrouterIDs)
273 c.refreshDHCPPorts()
274 c.refreshFloatingIPs()
275 c.refreshNATGateways()
276 c.refreshNATRules()
277 c.refreshNATVMConnections()
278 c.refreshLBs()
279 c.refreshLBListeners()
280 c.refreshLBTargetServers()
281 c.refreshLBVMConnections()
282 c.refreshPeeConnections()
283 c.refreshCENs()
284 c.refreshRDSInstances()
285 c.refreshRedisInstances()
286 c.refreshVIP()
287 }
288
289 c.refreshPodClusters()
290 c.refreshPodNodes()
291 c.refreshVMPodNodeConnections()
292 c.refreshPodNamespaces()
293 podIngressIDs := c.refreshPodIngresses()
294 c.refreshPodIngressRules(podIngressIDs)
295 c.refreshPodIngresseRuleBackends(podIngressIDs)

Callers 1

TryRefreshMethod · 0.95

Calls 15

ResetRefreshSignalMethod · 0.95
needSelfHealingMethod · 0.95
SetLogLevelMethod · 0.95
refreshRegionsMethod · 0.95
refreshAZsMethod · 0.95
refreshVPCsMethod · 0.95
refreshHostsMethod · 0.95
randomSleepMethod · 0.95
refreshVMsMethod · 0.95
refreshSubDomainsMethod · 0.95
refreshVRoutersMethod · 0.95

Tested by

no test coverage detected