Skip to content

Commit f62b530

Browse files
authored
Merge pull request kubernetes#57057 from greghaynes/reschedule-with-backoff
Reschedule with backoff
2 parents 52705de + 73710f0 commit f62b530

File tree

12 files changed

+972
-282
lines changed

12 files changed

+972
-282
lines changed

pkg/scheduler/core/extender_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
507507
for _, name := range test.nodes {
508508
cache.AddNode(createNode(name))
509509
}
510-
queue := internalqueue.NewSchedulingQueue()
510+
queue := internalqueue.NewSchedulingQueue(nil)
511511
scheduler := NewGenericScheduler(
512512
cache,
513513
nil,

pkg/scheduler/core/generic_scheduler_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ func TestGenericScheduler(t *testing.T) {
472472
scheduler := NewGenericScheduler(
473473
cache,
474474
nil,
475-
internalqueue.NewSchedulingQueue(),
475+
internalqueue.NewSchedulingQueue(nil),
476476
test.predicates,
477477
algorithm.EmptyPredicateMetadataProducer,
478478
test.prioritizers,
@@ -509,7 +509,7 @@ func makeScheduler(predicates map[string]algorithm.FitPredicate, nodes []*v1.Nod
509509
s := NewGenericScheduler(
510510
cache,
511511
nil,
512-
internalqueue.NewSchedulingQueue(),
512+
internalqueue.NewSchedulingQueue(nil),
513513
predicates,
514514
algorithm.EmptyPredicateMetadataProducer,
515515
prioritizers,
@@ -1436,7 +1436,7 @@ func TestPreempt(t *testing.T) {
14361436
scheduler := NewGenericScheduler(
14371437
cache,
14381438
nil,
1439-
internalqueue.NewSchedulingQueue(),
1439+
internalqueue.NewSchedulingQueue(nil),
14401440
map[string]algorithm.FitPredicate{"matches": algorithmpredicates.PodFitsResources},
14411441
algorithm.EmptyPredicateMetadataProducer,
14421442
[]algorithm.PriorityConfig{{Function: numericPriority, Weight: 1}},
@@ -1564,7 +1564,7 @@ func TestCacheInvalidationRace(t *testing.T) {
15641564
scheduler := NewGenericScheduler(
15651565
mockCache,
15661566
eCache,
1567-
internalqueue.NewSchedulingQueue(),
1567+
internalqueue.NewSchedulingQueue(nil),
15681568
ps,
15691569
algorithm.EmptyPredicateMetadataProducer,
15701570
prioritizers,
@@ -1648,7 +1648,7 @@ func TestCacheInvalidationRace2(t *testing.T) {
16481648
scheduler := NewGenericScheduler(
16491649
cache,
16501650
eCache,
1651-
internalqueue.NewSchedulingQueue(),
1651+
internalqueue.NewSchedulingQueue(nil),
16521652
ps,
16531653
algorithm.EmptyPredicateMetadataProducer,
16541654
prioritizers,

pkg/scheduler/factory/factory.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ func NewConfigFactory(args *ConfigFactoryArgs) Configurator {
283283
c := &configFactory{
284284
client: args.Client,
285285
podLister: schedulerCache,
286-
podQueue: internalqueue.NewSchedulingQueue(),
286+
podQueue: internalqueue.NewSchedulingQueue(stopEverything),
287287
nodeLister: args.NodeInformer.Lister(),
288288
pVLister: args.PvInformer.Lister(),
289289
pVCLister: args.PvcInformer.Lister(),
@@ -1493,8 +1493,7 @@ func (c *configFactory) MakeDefaultErrorFunc(backoff *util.PodBackoff, podQueue
14931493
// to run on a node, scheduler takes the pod into account when running
14941494
// predicates for the node.
14951495
if !util.PodPriorityEnabled() {
1496-
entry := backoff.GetEntry(podID)
1497-
if !entry.TryWait(backoff.MaxDuration()) {
1496+
if !backoff.TryBackoffAndWait(podID, c.StopEverything) {
14981497
klog.Warningf("Request for pod %v already in flight, abandoning", podID)
14991498
return
15001499
}

pkg/scheduler/internal/queue/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ go_library(
1212
"//pkg/scheduler/util:go_default_library",
1313
"//staging/src/k8s.io/api/core/v1:go_default_library",
1414
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
15+
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
16+
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
1517
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
1618
"//vendor/k8s.io/klog:go_default_library",
1719
],

0 commit comments

Comments
 (0)