Skip to content

Commit f64f687

Browse files
authored
Merge pull request kubernetes#93566 from jimmy-zh/optimize-the-use-of-informer-for-scheduler
Optimize the use of informer for scheduler
2 parents e36e68f + 1f0bcc8 commit f64f687

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

pkg/scheduler/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ go_library(
3333
"//staging/src/k8s.io/api/storage/v1:go_default_library",
3434
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
3535
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
36-
"//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library",
3736
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
3837
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
3938
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
4039
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
4140
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
4241
"//staging/src/k8s.io/client-go/informers:go_default_library",
42+
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
4343
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
4444
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
4545
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",

pkg/scheduler/scheduler.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ import (
2727

2828
v1 "k8s.io/api/core/v1"
2929
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
30-
"k8s.io/apimachinery/pkg/fields"
3130
"k8s.io/apimachinery/pkg/runtime"
3231
"k8s.io/apimachinery/pkg/util/wait"
3332
"k8s.io/client-go/informers"
33+
coreinformers "k8s.io/client-go/informers/core/v1"
3434
clientset "k8s.io/client-go/kubernetes"
3535
"k8s.io/client-go/tools/cache"
3636
"k8s.io/klog/v2"
@@ -649,9 +649,9 @@ func NewInformerFactory(cs clientset.Interface, resyncPeriod time.Duration) info
649649

650650
// newPodInformer creates a shared index informer that returns only non-terminal pods.
651651
func newPodInformer(cs clientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
652-
selector := fields.ParseSelectorOrDie(
653-
"status.phase!=" + string(v1.PodSucceeded) +
654-
",status.phase!=" + string(v1.PodFailed))
655-
lw := cache.NewListWatchFromClient(cs.CoreV1().RESTClient(), string(v1.ResourcePods), metav1.NamespaceAll, selector)
656-
return cache.NewSharedIndexInformer(lw, &v1.Pod{}, resyncPeriod, nil)
652+
selector := fmt.Sprintf("status.phase!=%v,status.phase!=%v", v1.PodSucceeded, v1.PodFailed)
653+
tweakListOptions := func(options *metav1.ListOptions) {
654+
options.FieldSelector = selector
655+
}
656+
return coreinformers.NewFilteredPodInformer(cs, metav1.NamespaceAll, resyncPeriod, nil, tweakListOptions)
657657
}

0 commit comments

Comments
 (0)