feat(fleet-controller): skip config re-apply and callbacks for unmodified reloads - #5452
Draft
d3flex wants to merge 1 commit into
Draft
feat(fleet-controller): skip config re-apply and callbacks for unmodified reloads#5452d3flex wants to merge 1 commit into
d3flex wants to merge 1 commit into
Conversation
…ed reloads The version guard in the previous commit kept a running controller's config in memory when it saw a mismatched-version ConfigMap, but it gave the caller no signal back. So the live reload paths kept working on a rejected ConfigMap anyway: reloadConfig re-fired every OnChange callback through SetAndTrigger, and Reconcile re-applied the retained config, even though nothing was adopted. ReadConfig and Lookup now return whether the config was adopted. Both live reload paths skip the re-apply and the callbacks when it was not, which slightly improves performance and avoids unnecessary overload. Refers to rancher#3547 Signed-off-by: Ioannis Bonatakis <ybonatakis@suse.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The version guard added in the previous commit kept a running controller's
config in memory when a mismatched-version ConfigMap was detected, but it
returned no signal to the caller. Without that signal the live reload paths
kept doing their work even for a rejected ConfigMap: reloadConfig re-fired
every OnChange callback via SetAndTrigger, and Reconcile re-applied the
retained config, when nothing was actually adopted.
ReadConfig and Lookup now report whether the config was adopted, and both
live reload paths skip re-applying and re-triggering callbacks when it was
not.
Depends-on: #5397
Refers to #3547