Skip to content

Exception when using activationCondition #2875

@gnfpt

Description

@gnfpt

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions