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 }