gitops-engine icon indicating copy to clipboard operation
gitops-engine copied to clipboard

Resource API discovery results do not appear to come from a cache

Open jessesuen opened this issue 3 years ago • 2 comments

It was discovered in https://github.com/argoproj/gitops-engine/pull/449#issuecomment-1220738665 that controller was making 1M api calls to perform discovery.

The client-go does seem to provide a cached discovery option, but based on evidence of API calls, we may not be taking advantage of it

https://pkg.go.dev/k8s.io/client-go/discovery#CachedDiscoveryInterface

jessesuen avatar Aug 19 '22 18:08 jessesuen

This is a partial fix: https://github.com/argoproj/gitops-engine/pull/448/files

KubectlCmd calls that require GVK info instantiate and use a one-off discovery client. Fixing that will require a bigger refactor, so I left it for later.

crenshaw-dev avatar Aug 19 '22 19:08 crenshaw-dev

^ that fix pays no attention to the cluster changes which should invalidate the cache, so we probably shouldn't merge it as-is.

crenshaw-dev avatar Aug 19 '22 19:08 crenshaw-dev