From 7494a7b0f1db7e8ce0e062f5bb9563626280b6e9 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Fri, 3 Dec 2021 10:15:13 -0800 Subject: [PATCH] refactor: avoid loading project in frequently executed controller methods Signed-off-by: Alexander Matyushentsev --- controller/appcontroller.go | 8 ++------ controller/appcontroller_test.go | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/controller/appcontroller.go b/controller/appcontroller.go index edd7e347f45d8..2e1359a468212 100644 --- a/controller/appcontroller.go +++ b/controller/appcontroller.go @@ -284,12 +284,8 @@ func (ctrl *ApplicationController) handleObjectUpdated(managedByApp map[string]b if !ok { continue } - // exclude resource unless it is permitted in the app project. If project is not permitted then it is not controlled by the user and there is no point showing the warning. - if proj, err := ctrl.getAppProj(app); err == nil && proj.IsGroupKindPermitted(ref.GroupVersionKind().GroupKind(), true) && - !isKnownOrphanedResourceExclusion(kube.NewResourceKey(ref.GroupVersionKind().Group, ref.GroupVersionKind().Kind, ref.Namespace, ref.Name), proj) { - managedByApp[app.Name] = false - } + managedByApp[app.Name] = true } } } @@ -1638,7 +1634,7 @@ func (ctrl *ApplicationController) newApplicationInformerAndLister() (cache.Shar return nil, nil } - proj, err := ctrl.getAppProj(app) + proj, err := applisters.NewAppProjectLister(ctrl.projInformer.GetIndexer()).AppProjects(ctrl.namespace).Get(app.Spec.GetProject()) if err != nil { return nil, nil } diff --git a/controller/appcontroller_test.go b/controller/appcontroller_test.go index 3a55fc6419523..e7119c8bc13f7 100644 --- a/controller/appcontroller_test.go +++ b/controller/appcontroller_test.go @@ -785,11 +785,11 @@ func TestHandleOrphanedResourceUpdated(t *testing.T) { isRequested, level := ctrl.isRefreshRequested(app1.Name) assert.True(t, isRequested) - assert.Equal(t, ComparisonWithNothing, level) + assert.Equal(t, CompareWithRecent, level) isRequested, level = ctrl.isRefreshRequested(app2.Name) assert.True(t, isRequested) - assert.Equal(t, ComparisonWithNothing, level) + assert.Equal(t, CompareWithRecent, level) } func TestGetResourceTree_HasOrphanedResources(t *testing.T) {