[ 
https://issues.apache.org/jira/browse/FLINK-12176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868441#comment-16868441
 ] 

TisonKun commented on FLINK-12176:
----------------------------------

[~till.rohrmann] Although for job compilation and submission process I'd like 
to further discuss in [~zjffdu]'s mailing list thread and design document, I 
want to make it clear the case you mentioned.

We hijack current execution environment by 
{{OptimizedPlanEnvironment#setAsContext}}, and thus when we execute main method 
of user program we actually use {{OptimizedPlanEnvironment}} whose {{#execute}} 
method does none real execution but compile the job and abort to return control 
flow. Under this issue we talk about a unified code path separated job 
compilation and submission. {{OptimizedPlanEnvironment}} is used only for 
compilation and later there is an separated submission step.

It should be ok because current job mode batch job we use this code path for 
compilation and then submit the {{JobGraph}} via cluster client.



> Unify JobGraph creation in CliFrontend
> --------------------------------------
>
>                 Key: FLINK-12176
>                 URL: https://issues.apache.org/jira/browse/FLINK-12176
>             Project: Flink
>          Issue Type: Improvement
>          Components: Command Line Client
>    Affects Versions: 1.9.0
>            Reporter: TisonKun
>            Assignee: TisonKun
>            Priority: Major
>         Attachments: patch.diff
>
>
> Currently, we create {{JobGraph}} by the following process
> * if the cluster start in job mode, we create {{JobGraph}} by 
> {{PackagedProgramUtils#createJobGraph}} and deploy a job cluster
> * if the cluster start in session mode, we create {{JobGraph}} and submit it 
> by {{CliFrontend#executeProgram}}, which internally the same as above but 
> using {{ContextEnvironment}} instead of {{OptimizerPlanEnvironment}}.
> {{ContextEnvironment}} not only create the job graph but also submit it. 
> However, the processes of {{JobGraph}} creation in job mode and session mode 
> are similar. That means, we can unify the process by always create 
> {{JobGraph}} by {{PackagedProgramUtils#createJobGraph}}. And,
> * in job mode, deploy job cluster with the {{JobGraph}}
> * in session mode, submit the {{JobGraph}} to the session cluster
> From a higher view, it is helpful for a common view of job submission in both 
> job and session mode and give opportunities to refactor legacy client codes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to