From e1594967bbbbcc146031504ae315b7740537be35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Tyczy=C5=84ski?= Date: Wed, 17 Apr 2024 21:08:44 +0200 Subject: [PATCH] Idempotent transformers in scheduler & kcm --- cmd/kube-controller-manager/app/controllermanager.go | 4 +++- pkg/scheduler/scheduler.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 16b31f5e5afc..de863f90d7e6 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -581,7 +581,9 @@ func CreateControllerContext(ctx context.Context, s *config.CompletedConfig, roo // Informer transform to trim ManagedFields for memory efficiency. trim := func(obj interface{}) (interface{}, error) { if accessor, err := meta.Accessor(obj); err == nil { - accessor.SetManagedFields(nil) + if accessor.GetManagedFields() != nil { + accessor.SetManagedFields(nil) + } } return obj, nil } diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 76e0cbb01e17..df007aa82fc6 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -549,7 +549,9 @@ func newPodInformer(cs clientset.Interface, resyncPeriod time.Duration) cache.Sh // The Extract workflow (i.e. `ExtractPod`) should be unused. trim := func(obj interface{}) (interface{}, error) { if accessor, err := meta.Accessor(obj); err == nil { - accessor.SetManagedFields(nil) + if accessor.GetManagedFields() != nil { + accessor.SetManagedFields(nil) + } } return obj, nil }