From f742a3c850c7658504440d7e55b4a9d1baf24da3 Mon Sep 17 00:00:00 2001 From: junqian Date: Tue, 20 Jul 2021 16:29:42 +0800 Subject: [PATCH] never drop binding in scheduler when failed Signed-off-by: junqian --- pkg/scheduler/scheduler.go | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index d1c95a3fe..feb66f0bb 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -12,7 +12,6 @@ import ( "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/dynamic" @@ -37,15 +36,6 @@ import ( "github.com/karmada-io/karmada/pkg/util" ) -const ( - // maxRetries is the number of times a service will be retried before it is dropped out of the queue. - // With the current rate-limiter in use (5ms*2^(maxRetries-1)) the following numbers represent the - // sequence of delays between successive queuings of a propagationbinding. - // - // 5ms, 10ms, 20ms, 40ms, 80ms, 160ms, 320ms, 640ms, 1.3s, 2.6s, 5.1s, 10.2s, 20.4s, 41s, 82s - maxRetries = 15 -) - // ScheduleType defines the schedule type of a binding object should be performed. type ScheduleType string @@ -534,14 +524,7 @@ func (s *Scheduler) handleErr(err error, key interface{}) { return } - if s.queue.NumRequeues(key) < maxRetries { - s.queue.AddRateLimited(key) - return - } - - utilruntime.HandleError(err) - klog.V(2).Infof("Dropping ResourceBinding %q out of the queue: %v", key, err) - s.queue.Forget(key) + s.queue.AddRateLimited(key) } func (s *Scheduler) addCluster(obj interface{}) {