From c2a3b793d3ec62e781dd20704370d09f7e1be706 Mon Sep 17 00:00:00 2001 From: Abu Kashem Date: Wed, 21 Jul 2021 17:06:48 -0400 Subject: [PATCH] apf: use EventClock rather than a PassiveClock for queueset --- .../k8s.io/apiserver/pkg/util/flowcontrol/apf_filter.go | 7 ++++--- .../util/flowcontrol/fairqueuing/queueset/queueset.go | 9 ++++----- vendor/modules.txt | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_filter.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_filter.go index 8d914e796b6..f9a287eab2d 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_filter.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_filter.go @@ -21,14 +21,15 @@ import ( "strconv" "time" - "k8s.io/apimachinery/pkg/util/clock" "k8s.io/apiserver/pkg/server/mux" "k8s.io/apiserver/pkg/util/flowcontrol/counter" fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing" + fairqueuingclock "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock" fqs "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset" "k8s.io/apiserver/pkg/util/flowcontrol/metrics" kubeinformers "k8s.io/client-go/informers" "k8s.io/klog/v2" + utilclock "k8s.io/utils/clock" flowcontrol "k8s.io/api/flowcontrol/v1beta1" flowcontrolclient "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1" @@ -83,7 +84,7 @@ func New( requestWaitLimit time.Duration, ) Interface { grc := counter.NoOp{} - clk := clock.RealClock{} + clk := fairqueuingclock.RealEventClock{} return NewTestable(TestableConfig{ Name: "Controller", Clock: clk, @@ -104,7 +105,7 @@ type TestableConfig struct { Name string // Clock to use in timing deliberate delays - Clock clock.PassiveClock + Clock utilclock.PassiveClock // AsFieldManager is the string to use in the metadata for // server-side apply. Normally this is diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go index 957417d6124..cd9fda988cb 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go @@ -23,12 +23,11 @@ import ( "sync" "time" - "k8s.io/utils/clock" - "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/util/flowcontrol/counter" "k8s.io/apiserver/pkg/util/flowcontrol/debug" fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing" + fairqueuingclock "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock" "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise" "k8s.io/apiserver/pkg/util/flowcontrol/metrics" fqrequest "k8s.io/apiserver/pkg/util/flowcontrol/request" @@ -48,7 +47,7 @@ const nsTimeFmt = "2006-01-02 15:04:05.000000000" // queueSetFactory makes QueueSet objects. type queueSetFactory struct { counter counter.GoRoutineCounter - clock clock.PassiveClock + clock fairqueuingclock.EventClock } // `*queueSetCompleter` implements QueueSetCompleter. Exactly one of @@ -71,7 +70,7 @@ type queueSetCompleter struct { // not end in "Locked" either acquires the lock or does not care about // locking. type queueSet struct { - clock clock.PassiveClock + clock fairqueuingclock.EventClock counter counter.GoRoutineCounter estimatedServiceTime float64 obsPair metrics.TimedObserverPair @@ -121,7 +120,7 @@ type queueSet struct { } // NewQueueSetFactory creates a new QueueSetFactory object -func NewQueueSetFactory(c clock.PassiveClock, counter counter.GoRoutineCounter) fq.QueueSetFactory { +func NewQueueSetFactory(c fairqueuingclock.EventClock, counter counter.GoRoutineCounter) fq.QueueSetFactory { return &queueSetFactory{ counter: counter, clock: c, diff --git a/vendor/modules.txt b/vendor/modules.txt index bf835b9a062..07ec69ad967 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1547,6 +1547,7 @@ k8s.io/apiserver/pkg/util/flowcontrol k8s.io/apiserver/pkg/util/flowcontrol/counter k8s.io/apiserver/pkg/util/flowcontrol/debug k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing +k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/testing