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

Xintong Song commented on FLINK-16733:
--------------------------------------

[~rongr]

I do not have a concrete plan.

At high level, my idea is similar to what [~tison] has described.
* We will have some decorators, each decorator dedicates to preparing a 
specific component / functionality of Flink. E.g., high availability, security, 
resource management, etc.
* To prepare the component / functionality, the decorators need to take various 
actions: upload files, write configurations, set environment variables, add 
class path, etc.
* Dedicated utils will be introduced for the decorating actions. 
`YarnClusterDescriptor` should be responsible for preparing these utils, 
passing them to the decorators, and assembling them to create the container 
launch context.

I have already started working on this, not full time though. My progress so 
far:
* Introduced ClasspathBuilder for building the class path, dealing with the 
ordering of user/framework class paths.
* Introduced ShipFileUtils for uploading files (still migrating tests)

> Refactor YarnClusterDescriptor
> ------------------------------
>
>                 Key: FLINK-16733
>                 URL: https://issues.apache.org/jira/browse/FLINK-16733
>             Project: Flink
>          Issue Type: Improvement
>          Components: Deployment / YARN
>            Reporter: Xintong Song
>            Assignee: Xintong Song
>            Priority: Minor
>
> Currently, YarnClusterDescriptor is not in a good shape. It has 1600+ lines 
> of codes, of which the method {{startAppMaster}} alone has 400+ codes, 
> leading to poor maintainability.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to