-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Application refresh is triggered by untracked resources #15612
Comments
Similar issue: #9558 (comment) |
The refresh allows the UI to display the current state of the updated resource. If you don't always need the latest state, you can exclude certain updates from triggering a refresh: https://argo-cd.readthedocs.io/en/latest/operator-manual/reconcile/ |
I don't understand why a refresh of application is needed when an untracked resource is modified. Can't Argo watch these resources and update UI accordingly without refreshing applications? |
The word "refresh" is ambiguous. There are different levels of refresh, with different amounts of work involved. I believe that this case (an update in a child of a managed resource) would involve the lowest refresh level and therefore the smallest amount of work. argo-cd/controller/appcontroller.go Lines 77 to 86 in 03c6e1a
|
Some of untracked resources are modified every 5s by operators, I don't think the good behavior for Argo is to react to these changes (more of just updating UI). We had to deactivate orphaned resources because of this same issue, app controller being flooded by refreshes of orphaned resources. Letting people debug app controller to list and ignore every potential changes of untracked resources is not a good behavior imho. |
Ok this make more sense. |
The default behavior is intended to provide the best possible end-user experience. This choice does cause a trade-off with admin effort to tune Argo CD. I think we'd favor improving the default experience rather than changing defaults in a way that degrades UX. For example, we're working on rate-limiting refreshes, which would likely mitigate the problem you're encountering: #15233 |
I'm okay with this, maybe adding additional information in debug logs about the kind of refresh should allow us to better isolate real issues. Feel free to close this issue. |
The information is there, it's just not the most readable: |
Describe the bug
For a while, Argo CD feels slow to reconcile (refreshing syncing) and i activated debug logs. I noticed a lot of application refresh where caused by untracked resources. We run argocd with tracking with annotation, so we expect all app controller refresh should be triggered only by changes in resources with
argocd.argoproj.io/tracking-id
annotation, and not by every resources watched by the controller.Version
Logs
One example among others
This update is caused by untracked child resource owned by tracked resource
The text was updated successfully, but these errors were encountered: