From c8b65422e582e4d6703b03cfea0aff0ac5e48ce2 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Tue, 17 Oct 2023 14:46:13 -0400 Subject: [PATCH] Drop usage of deprecated method NewNamedRateLimitingQueue Signed-off-by: Davanum Srinivas --- staging/src/k8s.io/sample-controller/controller.go | 8 +++++++- staging/src/k8s.io/sample-controller/go.mod | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/sample-controller/controller.go b/staging/src/k8s.io/sample-controller/controller.go index 13a5c33a1e4..59c0035a53a 100644 --- a/staging/src/k8s.io/sample-controller/controller.go +++ b/staging/src/k8s.io/sample-controller/controller.go @@ -21,6 +21,8 @@ import ( "fmt" "time" + "golang.org/x/time/rate" + appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" @@ -103,6 +105,10 @@ func NewController( eventBroadcaster.StartStructuredLogging(0) eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeclientset.CoreV1().Events("")}) recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: controllerAgentName}) + ratelimiter := workqueue.NewMaxOfRateLimiter( + workqueue.NewItemExponentialFailureRateLimiter(5*time.Millisecond, 1000*time.Second), + &workqueue.BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(50), 300)}, + ) controller := &Controller{ kubeclientset: kubeclientset, @@ -111,7 +117,7 @@ func NewController( deploymentsSynced: deploymentInformer.Informer().HasSynced, foosLister: fooInformer.Lister(), foosSynced: fooInformer.Informer().HasSynced, - workqueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "Foos"), + workqueue: workqueue.NewRateLimitingQueue(ratelimiter), recorder: recorder, } diff --git a/staging/src/k8s.io/sample-controller/go.mod b/staging/src/k8s.io/sample-controller/go.mod index b7ff71d85ae..41076885d65 100644 --- a/staging/src/k8s.io/sample-controller/go.mod +++ b/staging/src/k8s.io/sample-controller/go.mod @@ -5,6 +5,7 @@ module k8s.io/sample-controller go 1.20 require ( + golang.org/x/time v0.3.0 k8s.io/api v0.0.0 k8s.io/apimachinery v0.0.0 k8s.io/client-go v0.0.0 @@ -42,7 +43,6 @@ require ( golang.org/x/sys v0.13.0 // indirect golang.org/x/term v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect - golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.12.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect