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
make client-go/util/retry more generic #80402
Conversation
Welcome @mjudeikis! |
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. I understand the commands that are listed here. |
Hi @mjudeikis. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
/cc caesarxuchao |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for you first PR to kubernetes @mjudeikis
added one quick comment.
/priority backlog
@@ -58,14 +58,14 @@ var DefaultBackoff = wait.Backoff{ | |||
// ... | |||
// | |||
// TODO: Make Backoff an interface? | |||
func RetryOnConflict(backoff wait.Backoff, fn func() error) error { | |||
func OnError(backoff wait.Backoff, errorFunc func(error) bool, fn func() error) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this change require unit-test modifications?
you can run this locally in the kubernetes source dir:
GO111MODULE=on go test staging/src/k8s.io/client-go/util/retry/...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't think so.
It just adds renames RetryOnConfict
to OnError
and makes RetryOnConfict
call OnError
with hardcoded parameter.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/ok-to-test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RetryOnError would be more consistent, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but its against naming convention retry.OnError
vs retry.RetryOnError
🤷♂️ I'm somehow trying to avoid foo.fooBar
a pattern where package names already tell you what it does.
But no hard feelings can change if told so.
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mjudeikis, sttts The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest |
Similar refactoring can be done in other places, such as: @sttts |
What type of PR is this?
To simplify
client-go
utils/retry
to be more generic to avoid wrappers/kind cleanup
Special notes for your reviewer:
Does this PR introduce a user-facing change?: