You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Márton Balassi (Jira)" <ji...@apache.org> on 2022/03/15 16:19:00 UTC

[jira] [Created] (FLINK-26660) Specify EventSource when watching multiple namespaces

Márton Balassi created FLINK-26660:
--------------------------------------

             Summary: Specify EventSource when watching multiple namespaces
                 Key: FLINK-26660
                 URL: https://issues.apache.org/jira/browse/FLINK-26660
             Project: Flink
          Issue Type: Sub-task
          Components: Kubernetes Operator
            Reporter: Márton Balassi


Currently when watching multiple namespaces, for example via the following command:

 
{code:java}
kubectl create ns flink-system
kubectl create ns flink-prod
kubectl create ns flink-user
helm install --namespace flink-system --set "watchNamespaces={flink-prod,flink-user}" flink-operator helm/flink-operator {code}
 

The operator itself comes up healthy, but on FlinkDeployment submission and is unable to reconcile:

 
{code:java}
# Modify the example to deploy to flink-prod namespace!
kubectl create -f examples/basic.yaml {code}
The operator log show the following:
{code:java}
flink-operator 2022-03-15 16:06:40,694 i.j.o.p.e.ReconciliationDispatcher [ERROR] Error during event processing ExecutionScope{ resource id: CustomResourceID{name= │
│ 'basic-example', namespace='flink-prod'}, version: 12332} failed.                                                                                                   │
│ flink-operator org.apache.flink.kubernetes.operator.exception.ReconciliationException: java.lang.IllegalArgumentException: There are multiple EventSources register │
│ ed for type io.fabric8.kubernetes.api.model.apps.Deployment, you need to provide a name to specify which EventSource you want to query. Known names: null-flink-pro │
│ d,null-flink-user                                                                                                                                                   │
│ flink-operator     at org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:131)                       │
│ flink-operator     at org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:57)                        │
│ flink-operator     at io.javaoperatorsdk.operator.processing.Controller$2.execute(Controller.java:101)                                                              │
│ flink-operator     at io.javaoperatorsdk.operator.processing.Controller$2.execute(Controller.java:76)                                                               │
│ flink-operator     at io.javaoperatorsdk.operator.api.monitoring.Metrics.timeControllerExecution(Metrics.java:34)                                                   │
│ flink-operator     at io.javaoperatorsdk.operator.processing.Controller.reconcile(Controller.java:75)                                                               │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.reconcileExecution(ReconciliationDispatcher.java:151)                   │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleReconcile(ReconciliationDispatcher.java:117)                      │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleDispatch(ReconciliationDispatcher.java:82)                        │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleExecution(ReconciliationDispatcher.java:51)                       │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.EventProcessor$ControllerExecution.run(EventProcessor.java:385)                                  │
│ flink-operator     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                   │
│ flink-operator     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                  │
│ flink-operator     at java.base/java.lang.Thread.run(Unknown Source)                                                                                                │
│ flink-operator Caused by: java.lang.IllegalArgumentException: There are multiple EventSources registered for type io.fabric8.kubernetes.api.model.apps.Deployment,  │
│ you need to provide a name to specify which EventSource you want to query. Known names: null-flink-prod,null-flink-user                                             │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.EventSourceManager$EventSources.get(EventSourceManager.java:266)                                 │
│ flink-operator     at io.javaoperatorsdk.operator.processing.event.EventSourceManager.getResourceEventSourceFor(EventSourceManager.java:163)                        │
│ flink-operator     at io.javaoperatorsdk.operator.api.reconciler.DefaultContext.getSecondaryResource(DefaultContext.java:28)                                        │
│ flink-operator     at io.javaoperatorsdk.operator.api.reconciler.Context.getSecondaryResource(Context.java:10)                                                      │
│ flink-operator     at org.apache.flink.kubernetes.operator.observer.BaseObserver.observeJmDeployment(BaseObserver.java:69)                                          │
│ flink-operator     at org.apache.flink.kubernetes.operator.observer.JobObserver.observe(JobObserver.java:49)                                                        │
│ flink-operator     at org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:124)                       │
│ flink-operator     ... 13 more {code}
 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)