Thank you Xintong for your input. I prepared a FLIP for this change [1], looking forward for any other opinions.
Thanks, Ferenc [1] https://docs.google.com/document/d/1EX74rFp9bMKdfoGkz1ASOM6Ibw32rRxIadX72zs2zoY/edit?usp=sharing On Friday, 17 May 2024 at 07:04, Xintong Song <tonysong...@gmail.com> wrote: > > > AFAIK, the main purpose of having `run-application` was to make sure > the user is aware that application mode is used, which executes the main > method of the user program in JM rather than in client. This was important > at the time application mode was first introduced, but maybe not that > important anymore, given that per-job mode is deprecated and likely removed > in 2.0. Therefore, +1 for the proposal. > > Best, > > Xintong > > > > On Thu, May 16, 2024 at 11:35 PM Ferenc Csaky ferenc.cs...@pm.me.invalid > > wrote: > > > Hello devs, > > > > I saw quite some examples when customers were confused about run, and run- > > application in the Flink CLI and I was wondering about the necessity of > > deploying > > Application Mode (AM) jobs with a different command, than Session and > > Per-Job mode jobs. > > > > I can see a point that YarnDeploymentTarget [1] and > > KubernetesDeploymentTarget > > [2] are part of their own maven modules and not known in flink-clients, > > so the > > deployment mode validations are happening during cluster deployment in > > their specific > > ClusterDescriptor implementation [3]. Although these are implementation > > details that > > IMO should not define user-facing APIs. > > > > The command line setup is the same for both run and run-application, so > > I think there > > is a quite simple way to achieve a unified flink run experience, but I > > might missed > > something so I would appreciate any inputs on this topic. > > > > Based on my assumptions I think it would be possible to deprecate the run- > > application in Flink 1.20 and remove it completely in Flink 2.0. I > > already put together a > > PoC [4], and I was able to deploy AM jobs like this: > > > > flink run --target kubernetes-application ... > > > > If others also agree with this, I would be happy to open a FLIP. WDYT? > > > > Thanks, > > Ferenc > > > > [1] > > https://github.com/apache/flink/blob/master/flink-yarn/src/main/java/org/apache/flink/yarn/configuration/YarnDeploymentTarget.java > > [2] > > https://github.com/apache/flink/blob/master/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesDeploymentTarget.java > > [3] > > https://github.com/apache/flink/blob/48e5a39c9558083afa7589d2d8b054b625f61ee9/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/KubernetesClusterDescriptor.java#L206 > > [4] > > https://github.com/ferenc-csaky/flink/commit/40b3e1b998c7a4273eaaff71d9162c9f1ee039c0