From 7a0b6b7831d5e96e166b46cffb014e4fcb078077 Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Tue, 26 Aug 2025 18:11:22 +0200 Subject: [PATCH] refactor: optimize retrieval of secondary resource Signed-off-by: Chris Laprun --- .../dependent/AbstractDependentResource.java | 1 - .../kubernetes/KubernetesDependentResource.java | 16 +++------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java index 9471d52cc4..8b03a74807 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java @@ -112,7 +112,6 @@ protected ReconcileResult reconcile(P primary, R actualResource, Context

c @Override public Optional getSecondaryResource(P primary, Context

context) { - var secondaryResources = context.getSecondaryResources(resourceType()); if (secondaryResources.isEmpty()) { return Optional.empty(); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java index ebd6089aa7..f25ca7def3 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java @@ -1,9 +1,7 @@ package io.javaoperatorsdk.operator.processing.dependent.kubernetes; import java.util.Map; -import java.util.Objects; import java.util.Optional; -import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -264,17 +262,9 @@ protected void addSecondaryToPrimaryMapperAnnotations( } @Override - protected Optional selectTargetSecondaryResource( - Set secondaryResources, P primary, Context

context) { - ResourceID managedResourceID = targetSecondaryResourceID(primary, context); - return secondaryResources.stream() - .filter( - r -> - r.getMetadata().getName().equals(managedResourceID.getName()) - && Objects.equals( - r.getMetadata().getNamespace(), - managedResourceID.getNamespace().orElse(null))) - .findFirst(); + public Optional getSecondaryResource(P primary, Context

context) { + final var targetResourceID = targetSecondaryResourceID(primary, context); + return eventSource().flatMap(informer -> informer.get(targetResourceID)); } /**