-
Notifications
You must be signed in to change notification settings - Fork 456
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
Re-queue Failed Items from the Work-queue #326
Conversation
You meant to say
|
@harshavardhana hahaha yes, let me try to amend the commit |
c052668
to
ba73ba5
Compare
…tween 5 seconds and 60 seconds max
@@ -233,6 +238,7 @@ func NewController( | |||
tenantInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ | |||
AddFunc: controller.enqueueTenant, | |||
UpdateFunc: func(old, new interface{}) { | |||
// TODO: compare old vs new and don't enqueue if they are identical |
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.
Can you not use reflect.Equal(old, new) ?
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.
There's a package from kubernetes for that equality.Semantic.DeepEqual
and equality.Semantic.DeepDerivative
I experimented with both, they didn't work quite as I expected, I'll keep looking into it.
Right now, when we fail a work item (due to an error) we don't requeue the item, now that we are not needlessly triggering our tenant informer via status updates we need to requeue the work items whenever they fail.
Introduces
MinIOControllerRateLimiter
which will make it so the re-queue exponential backoff times are always between 5s and 60s