-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Ignorable Errors #377
Comments
/close |
@adohe: Closing 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. |
Not quite actually fixed -- the helper helps, but I'd like to figure out something automatic |
sure I will give a try to find something automatic. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/lifecycle frozen |
https://godoc.org/github.com/crossplaneio/crossplane-runtime/pkg/resource#Ignore By way of an experience report, the pattern proposed by this issue is exactly what we do in Crossplane and it has been working well for us.
While I agree that you pretty much never want to requeue a My suspicion is that having reconciler authors explicitly ignore such errors by convention will lead to reconciler logic that is more readable and easier to reason about than if controller-runtime tried to solve this magically. |
Yeah, that's my hesitance too, but I've seen a lot of people not realizing that requeuing on not found errors might cause them to see repeated backoff, and it's super-common boiler plate to write Still, the real experience report is super useful. Thanks 👍 |
Closing in favor of #617 /close |
@vincepri: Closing 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. |
We have a couple classes of errors that should not trigger requeues (not-found, already-exists), as they're not errors that will be solved by requeuing (not-found will remain not-found until a cache updates, at which point you should get a requeue from the cache update, for instance, and already-exists is the same way).
The quickest, most-likely-to-not-break-users way to solve this is to have helpers for ignorable errors, along the lines of
An easier/possibly better solution is to apply that logic on the results of reconciler by default, and allow an option to force overriding this in
Result
, but this could potentially break people in the case of non-watched/incorrectly-watched resources.At any rate, the helpers are a good first step -- I find myself writing them a lot by hand.
/kind feature
/priority important-longterm.
The text was updated successfully, but these errors were encountered: