Merge pull request #103829 from tkashem/apf-queueset-clock

apf: use EventClock for queueset
This commit is contained in:
Kubernetes Prow Robot 2021-08-06 15:01:29 -07:00 committed by GitHub
commit 641eeb5350
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 8 deletions

View File

@ -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

View File

@ -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,

1
vendor/modules.txt vendored
View File

@ -1548,6 +1548,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