-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ClusterClass: cache SSA dry-run requests #8146
Comments
/triage accepted |
Moving a comment from #8207 (comment) Took a look at the data before/after this PR merged: Cluster topology controller:
MD controller:
MS controller:
Machine controller: (various workload clusters)
=> Before: 19663 => After: 3892 KCP controller:
tl;dr 5x reduction of calls for everything except KCP and MD controller. I'll take a look at those, maybe the caching doesn't work there for some reason /reopen |
@sbueringer: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
#8243 further improves caching drastically. In this case I ran e2e-full on #8243 and #8241 (baseline). Cluster topology controller:
MD controller:
MS controller:
KCP controller:
Improvements:
Overall ~ through both PRs: Before: 32934 => After: 4225 (~87% less calls / ~8x improvement) P.S. It's nice to see (also for future experiments) that the call counts are almost constant for the calls that are not affected |
We recently merged: ClusterClass: run dry-run on original and modified object.
This basically doubled the amount of SSA dry-run calls to the API server by the Cluster topology controller.
Goal of this issue is to implement a cache to reduce the number of calls.
The rough idea is that for every given original and modified object we don't have to repeat SSA dryrun calls once we know that there is no diff.
We cache the "no diff" result under a combined key which consists of: resourceVersion of original and hash of modified.
To cover against changes to the defaulting logic (e.g. by infra provider updates), which influences the result of the SSA dryrun, we will only cache the result for 10 minutes.
/kind feature
The text was updated successfully, but these errors were encountered: