From 0e0f8346e7539562b46b881496fee749556191e2 Mon Sep 17 00:00:00 2001 From: Mike Danese Date: Fri, 13 Oct 2017 11:48:17 -0700 Subject: [PATCH] sarapprover: increase base delay of per item rate limit from 5 miliseconds to 1 second --- pkg/controller/certificates/certificate_controller.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/controller/certificates/certificate_controller.go b/pkg/controller/certificates/certificate_controller.go index 36d3a2ba0bf..e86810a4be1 100644 --- a/pkg/controller/certificates/certificate_controller.go +++ b/pkg/controller/certificates/certificate_controller.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "github.com/golang/glog" + "github.com/juju/ratelimit" ) type CertificateController struct { @@ -61,8 +62,12 @@ func NewCertificateController( cc := &CertificateController{ kubeClient: kubeClient, - queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "certificate"), - handler: handler, + queue: workqueue.NewNamedRateLimitingQueue(workqueue.NewMaxOfRateLimiter( + workqueue.NewItemExponentialFailureRateLimiter(200*time.Millisecond, 1000*time.Second), + // 10 qps, 100 bucket size. This is only for retry speed and its only the overall factor (not per item) + &workqueue.BucketRateLimiter{Bucket: ratelimit.NewBucketWithRate(float64(10), int64(100))}, + ), "certificate"), + handler: handler, } // Manage the addition/update of certificate requests