[
https://issues.apache.org/jira/browse/FLINK-15179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16993356#comment-16993356
]
Kostas Kloudas edited comment on FLINK-15179 at 12/11/19 11:08 AM:
-------------------------------------------------------------------
Hi [~fly_in_gis]! Thanks for jumping in the discussion.
For the {{FlinkYarnSessionCli}} I would suggest to deprecate it, as a first
step, and then see if/when to remove it. Removing it may be a bit tricky
because it has been there forever and many people already use it.
For the {{FlinkKubernetesCustomCli}} I would suggest to remove it and let only
the full names as options, just the way you described it above. The reason is
that we introduce many layers and names for the same variables, and it is
difficult to keep track and even maintain the documentation up-to-date. As an
example, if you check the {{Yarn}} docs, some of the CLI options are not
actually supported any more. In addition, with the addition of
https://issues.apache.org/jira/browse/FLINK-15121, the user will be able to
specify everything programmatically in the environment, rather than the command
line. So the long command lines will hopefully be rare. In any case, if we see
that this creates problems for the users, we can always re-add a short CLI
options in the future, but if we add them now and people start using them, then
we cannot remove them easily.
For the {{AbstractCustomCommandLine}} I would say that we can, in the future,
deprecate it, and even remove it if the special Yarn CLI is also removed.
That said, could you help with testing the changes here
[https://github.com/apache/flink/pull/10528]? The main change that I would
appreciate to be tested more (as there is no test in the original codebase) is
the parsing of the {{KubernetesConfigOptionsInternal.ENTRY_POINT_CLASS_ARGS}}.
Given that this is internal and we do not want to expose it to the users, I
added two public config options that we then combine in the
{{KubernetesClusterDescriptor}}.
was (Author: kkl0u):
Hi [~fly_in_gis]! Thanks for jumping in the discussion.
For the {{FlinkYarnSessionCli}} I would suggest to deprecate it, as a first
step, and then see if/when to remove it. Removing it may be a bit tricky
because it has been there forever and many people already use it.
For the {{FlinkKubernetesCustomCli}} I would suggest to remove it and let only
the full names as options, just the way you described it above. The reason is
that we introduce many layers and names for the same variables, and it is
difficult to keep track and even maintain the documentation up-to-date. As an
example, if you check the {{Yarn}} docs, some of the CLI options are not
actually supported any more. In addition, with the addition of
https://issues.apache.org/jira/browse/FLINK-15121, the user will be able to
specify everything programmatically in the environment, rather than the command
line. So the long command lines will hopefully be rare. In any case, if we see
that this creates problems for the users, we can always re-add a short CLI
options in the future, but if we add them now and people start using them, then
we cannot remove them easily.
For the {{AbstractCustomCommandLine}} I would say that we can, in the future,
deprecate it, and even remove it if the special Yarn CLI is also removed.
That said, could you help with testing the changes here
[https://github.com/apache/flink/pull/10527]? The main change that I would
appreciate to be tested more (as there is no test in the original codebase) is
the parsing of the {{KubernetesConfigOptionsInternal.ENTRY_POINT_CLASS_ARGS}}.
Given that this is internal and we do not want to expose it to the users, I
added two public config options that we then combine in the
{{KubernetesClusterDescriptor}}.
> Kubernetes should not have a CustomCommandLine.
> -----------------------------------------------
>
> Key: FLINK-15179
> URL: https://issues.apache.org/jira/browse/FLINK-15179
> Project: Flink
> Issue Type: Sub-task
> Components: Deployment / Kubernetes
> Affects Versions: 1.10.0
> Reporter: Kostas Kloudas
> Assignee: Kostas Kloudas
> Priority: Major
> Labels: pull-request-available
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> As part of FLIP-73, all command line options are mapped to config options.
> Given this 1-to-1 mapping, the Kubernetes command line could simply forward
> the command line arguments to ConfigOptions directly, instead of introducing
> new command line options. In this case, the user is expected to simply write:
>
> {\{bin/run -e (or --executor) kubernetes-session-cluster -D
> kubernetes.container.image=MY_IMAGE ...}}
> and the CLI will parse the -e to figure out the correct
> {{ClusterClientFactory}} and {{ExecutorFactory}} and then forward to that the
> config options specified with {{-D}}.
> For this, we need to introduce a {{GenericCustomCommandLine}} that simply
> forward the specified parameters to the executors.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)