Skip to content

Commit

Permalink
fix: remove vmss vm from cache when invalidate the cache
Browse files Browse the repository at this point in the history
  • Loading branch information
nilo19 committed Feb 9, 2023
1 parent bd031d3 commit 4f18ef8
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions pkg/provider/azure_vmss_cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,16 +280,20 @@ func (ss *ScaleSet) DeleteCacheForNode(nodeName string) error {
return err
}

err = ss.vmssVMCache.Delete(getVMSSVMCacheKey(node.resourceGroup, node.vmssName))
// get sync.Map cache and remove the node from the cache
cacheKey := getVMSSVMCacheKey(node.resourceGroup, node.vmssName)
ss.lockMap.LockEntry(cacheKey)
defer ss.lockMap.UnlockEntry(cacheKey)

virtualMachines, err := ss.getVMSSVMsFromCache(node.resourceGroup, node.vmssName, azcache.CacheReadTypeUnsafe)
if err != nil {
klog.Errorf("DeleteCacheForNode(%s) failed to remove from vmssVMCache with error: %v", nodeName, err)
klog.Errorf("DeleteCacheForNode(%s, %s) failed to getVMSSVMsFromCache: %v", node.resourceGroup, node.vmssName, err)
return err
}

if err := ss.gcVMSSVMCache(); err != nil {
klog.Errorf("DeleteCacheForNode(%s) failed to gc stale vmss caches: %v", nodeName, err)
}

virtualMachines.Delete(nodeName)
ss.vmssVMCache.Update(cacheKey, virtualMachines)
klog.V(2).Infof("DeleteCacheForNode(%s, %s, %s) successfully", node.resourceGroup, node.vmssName, nodeName)
return nil
}

Expand Down

0 comments on commit 4f18ef8

Please sign in to comment.