java-operator-sdk icon indicating copy to clipboard operation
java-operator-sdk copied to clipboard

Exception when using activationCondition

Open gnfpt opened this issue 5 months ago • 1 comments

Bug Report

2025-07-17T22:26:02.460Z WARN 1 --- [nreconciler-343] i.j.o.processing.event.EventProcessor : Uncaught error during event processing ExecutionScope{ resource id: ResourceID{name='test-p5', namespace='namespace'}, version: 806792} - but another reconciliation will be attempted because a superseding event has been received or another retry attempt is pending. java.util.NoSuchElementException: No value present at java.base/java.util.Optional.orElseThrow(Optional.java:377) ~[na:na] at io.javaoperatorsdk.operator.processing.dependent.workflow.AbstractWorkflowExecutor.registerOrDeregisterEventSourceBasedOnActivation(abstractworkflowexecutor.java:178) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.dependent.workflow.WorkflowReconcileExecutor.handleReconcile(workflowreconcileexecutor.java:80) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.dependent.workflow.WorkflowReconcileExecutor.reconcile(workflowreconcileexecutor.java:28) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.dependent.workflow.DefaultWorkflow.reconcile(defaultworkflow.java:100) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.Controller$1.lambda$execute$0(controller.java:158) ~[operator-framework-core-5.1.0.jar!/:na] at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na] at io.javaoperatorsdk.operator.processing.Controller$1.execute(controller.java:155) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.Controller$1.execute(controller.java:117) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.api.monitoring.Metrics.timeControllerExecution(metrics.java:159) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.Controller.reconcile(controller.java:116) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.reconcileExecution(reconciliationdispatcher.java:153) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleReconcile(reconciliationdispatcher.java:130) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleDispatch(reconciliationdispatcher.java:97) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleExecution(reconciliationdispatcher.java:68) ~[operator-framework-core-5.1.0.jar!/:na] at io.javaoperatorsdk.operator.processing.event.EventProcessor$ReconcilerExecutor.run(eventprocessor.java:475) ~[operator-framework-core-5.1.0.jar!/:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

What did you do?

When I set an activationCondition, I'm getting the exception mentioned before. The expection happen in AbastractWorkflowExecutor.registerOrDeregisterEventSourceBasedOnActivation(...) method. The eventSource option contains null.

What did you expect to see?

I didn't expect to see an exception.

What did you see instead? Under which circumstances?

An exception

Environment

Running in Minikube Kubectl: v1.32.1 Server version: v1.33.1 Using josdk spring-boot-starter v6.1.0 Using java 17.0.8

gnfpt avatar Jul 21 '25 11:07 gnfpt

Hi @gnfpt , thank you for the issues, could you pls provide a minimalistic reproducer?

csviri avatar Jul 21 '25 12:07 csviri