Hi, David

The jarURI is required[1], otherwise Flink doesn't know which jar should be
used.

If you are using application mode, you can set jarURI to
"local:///opt/flink/usrlib/your-job.jar", and the jar will not upload to
H/A storage.

Best,
Weihua


On Wed, Apr 5, 2023 at 5:51 PM David Causse <dcau...@wikimedia.org> wrote:

> Hi,
>
> I'm trying to deploy a job (flink 1.16) with the flink-operator, the job
> jar is part of the image and placed under /opt/flink/usrlib.
> I thought that by placing the job jar there I could avoid setting the
> jarURI in the JobSpec but I'm getting a NPE (pasted at the end of this
> email) suggesting that this param is actually mandatory.
> Ultimately what I would like is to avoid pushing the job jar to the flink
> H/A storage since it's part of the image.
> I'm probably missing something regarding the use cases where jarURI can be
> omitted.
>
> Thanks!
>
> David.
>
> org.apache.flink.kubernetes.operator.exception.ReconciliationException:
> java.lang.NullPointerException
>         at
> org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:142)
>         at
> org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:56)
>         at
> io.javaoperatorsdk.operator.processing.Controller$1.execute(Controller.java:145)
>         at
> io.javaoperatorsdk.operator.processing.Controller$1.execute(Controller.java:103)
>         at
> org.apache.flink.kubernetes.operator.metrics.OperatorJosdkMetrics.timeControllerExecution(OperatorJosdkMetrics.java:80)
>         at
> io.javaoperatorsdk.operator.processing.Controller.reconcile(Controller.java:102)
>         at
> io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.reconcileExecution(ReconciliationDispatcher.java:139)
>         at
> io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleReconcile(ReconciliationDispatcher.java:119)
>         at
> io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleDispatch(ReconciliationDispatcher.java:89)
>         at
> io.javaoperatorsdk.operator.processing.event.ReconciliationDispatcher.handleExecution(ReconciliationDispatcher.java:62)
>         at
> io.javaoperatorsdk.operator.processing.event.EventProcessor$ReconcilerExecutor.run(EventProcessor.java:406)
>         at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.flink.kubernetes.utils.KubernetesUtils.checkJarFileForApplicationMode(KubernetesUtils.java:403)
>         at
> org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployApplicationCluster(KubernetesClusterDescriptor.java:207)
>         at
> org.apache.flink.client.deployment.application.cli.ApplicationClusterDeployer.run(ApplicationClusterDeployer.java:67)
>         at
> org.apache.flink.kubernetes.operator.service.NativeFlinkService.deployApplicationCluster(NativeFlinkService.java:66)
>         at
> org.apache.flink.kubernetes.operator.service.AbstractFlinkService.submitApplicationCluster(AbstractFlinkService.java:184)
>         at
> org.apache.flink.kubernetes.operator.reconciler.deployment.ApplicationReconciler.deploy(ApplicationReconciler.java:182)
>         at
> org.apache.flink.kubernetes.operator.reconciler.deployment.ApplicationReconciler.deploy(ApplicationReconciler.java:59)
>         at
> org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler.reconcile(AbstractFlinkResourceReconciler.java:115)
>         at
> org.apache.flink.kubernetes.operator.controller.FlinkDeploymentController.reconcile(FlinkDeploymentController.java:130)
>         ... 13 more
>

Reply via email to