Skip to content

Commit a6e961c

Browse files
authored
fix: operator exception on miss of informer (#894)
1 parent 489e25d commit a6e961c

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceCache.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import io.fabric8.kubernetes.api.model.HasMetadata;
99
import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
10+
import io.javaoperatorsdk.operator.OperatorException;
1011
import io.javaoperatorsdk.operator.api.config.Cloner;
1112
import io.javaoperatorsdk.operator.processing.event.ResourceID;
1213
import io.javaoperatorsdk.operator.processing.event.source.Cache;
@@ -52,6 +53,11 @@ public Optional<T> get(ResourceID resourceID) {
5253
sharedIndexInformer =
5354
sharedIndexInformers.get(resourceID.getNamespace().orElse(ANY_NAMESPACE_MAP_KEY));
5455
}
56+
if (sharedIndexInformer == null) {
57+
throw new OperatorException(
58+
"Cannot find informer for ResourceID: " + resourceID + ". This is usually " +
59+
"due to invalid resource id mapping for registered informers.");
60+
}
5561
var resource = sharedIndexInformer.getStore()
5662
.getByKey(io.fabric8.kubernetes.client.informers.cache.Cache.namespaceKeyFunc(
5763
resourceID.getNamespace().orElse(null),

0 commit comments

Comments
 (0)