From c7d0e0a13e553293e71db374400470cf954fc41f Mon Sep 17 00:00:00 2001 From: Tim Ramlot <42113979+inteon@users.noreply.github.com> Date: Tue, 25 Jul 2023 20:31:47 +0200 Subject: [PATCH] instead of creating a new local log variable, we were updating the cross-invocation log variable and were adding more Values to the log variable, causing high memory usage and incorrect log messages Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com> --- pkg/controller/cainjector/indexers.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/controller/cainjector/indexers.go b/pkg/controller/cainjector/indexers.go index 4c6a6f41cdb..e7d8d643042 100644 --- a/pkg/controller/cainjector/indexers.go +++ b/pkg/controller/cainjector/indexers.go @@ -52,7 +52,7 @@ func certFromSecretToInjectableMapFuncBuilder(cl client.Reader, log logr.Logger, if certName == nil { return nil } - log = log.WithValues("type", config.resourceName, "secret", secretName, "certificate", *certName) + log := log.WithValues("type", config.resourceName, "secret", secretName, "certificate", *certName) var cert cmapi.Certificate // confirm that a service owns this cert @@ -96,7 +96,7 @@ func certFromSecretToInjectableMapFuncBuilder(cl client.Reader, log logr.Logger, func certToInjectableMapFuncBuilder(cl client.Reader, log logr.Logger, config setup) handler.MapFunc { return func(ctx context.Context, obj client.Object) []ctrl.Request { certName := types.NamespacedName{Namespace: obj.GetNamespace(), Name: obj.GetName()} - log = log.WithValues("type", config.resourceName, "certificate", certName) + log := log.WithValues("type", config.resourceName, "certificate", certName) objs := config.listType.DeepCopyObject().(client.ObjectList) if err := cl.List(context.Background(), objs, client.MatchingFields{injectFromPath: certName.String()}); err != nil { log.Error(err, "unable to fetch injectables associated with certificate") @@ -133,7 +133,7 @@ func certToInjectableMapFuncBuilder(cl client.Reader, log logr.Logger, config se func secretForInjectableMapFuncBuilder(cl client.Reader, log logr.Logger, config setup) handler.MapFunc { return func(ctx context.Context, obj client.Object) []ctrl.Request { secretName := types.NamespacedName{Namespace: obj.GetNamespace(), Name: obj.GetName()} - log = log.WithValues("type", config.resourceName, "secret", secretName) + log := log.WithValues("type", config.resourceName, "secret", secretName) objs := config.listType.DeepCopyObject().(client.ObjectList) // TODO: ensure that this is cache lister, not a direct client if err := cl.List(context.Background(), objs, client.MatchingFields{injectFromSecretPath: secretName.String()}); err != nil {