[go: nahoru, domu]

Skip to content
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

Do not re-queue not recoverable requests #41

Open
ichekrygin opened this issue Nov 3, 2018 · 3 comments
Open

Do not re-queue not recoverable requests #41

ichekrygin opened this issue Nov 3, 2018 · 3 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed wontfix This will not be worked on

Comments

@ichekrygin
Copy link
Member

As a general rule, we requeue every failed request.
However, there are cases when failures are non-recoverable and require an update to the resource definition itself (which in turn will re-queue it)

For example: If the resource contains an invalid property value

"InvalidParameterValue: Invalid database identifier"

There is no point of re-queue-int this request since the property value will not fix itself.

@jbw976
Copy link
Member
jbw976 commented Jun 10, 2019

This issue is going to take some thought and likely be specific to each controller. i.e. identifying the specific errors that are not recoverable will be different for each cloud provider API call.

@negz
Copy link
Member
negz commented Jul 19, 2019

I believe we can solve this somewhat systemically if crossplane/crossplane#593 is merged. If requeue logic becomes a function of the error returned by CRUD operations then we can assert whether an error is recoverable and have the Reconciler scaffold avoid dequeueing accordingly, i.e.:

type recoverable struct{ error }

func (r recoverable) Recoverable() {}

func Recoverable(err error) error { return recoverable{err} }

func IsRecoverable(err error) bool {
	_, recoverable := err.(interface {
		Recoverable()
	})
	return recoverable
}

https://play.golang.org/p/H5eJBA8fi8y

@negz negz transferred this issue from crossplane/crossplane Oct 8, 2019
@negz negz added good first issue Good for newcomers help wanted Extra attention is needed labels Oct 8, 2019
@stale
Copy link
stale bot commented Aug 13, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Aug 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants