You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/09/24 14:54:00 UTC

[jira] [Commented] (FLINK-10411) Make ClusterEntrypoint more modular

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

ASF GitHub Bot commented on FLINK-10411:
----------------------------------------

tillrohrmann opened a new pull request #6743: [FLINK-10411] Make ClusterEntrypoint more compositional
URL: https://github.com/apache/flink/pull/6743
 
 
   ## What is the purpose of the change
   
   Introduce the `ClusterComponent` which encapsulates the logic for starting the cluster
   components, `Dispatcher`, `RestServerEndpoint` and the `ResourceManager`. The individual
   components are created by using a factory instance. The `ClusterEntrypoint` is now
   only responsible for managing the required services needed by the `ClusterComponent`.
   This design should make the testing of these components easier, improve reusability
   and reduce code duplication.
   
   Move the logic of when to exit the JVM process out of the `ClusterEntrypoint`
   so that the caller is now responsible to make this call. This improves the
   usage of the `ClusterEntrypoint` for testing purposes.
   
   ## Brief change log
   
   - Introduce `ClusterComponent` responsible for managing the cluster components: `Dispatcher`, `RestServerEndpoint` and `ResourceManager`
   - Introduce factories for the cluster components
   - Update existing `ClusterEntrypoints` to use the new `ClusterComponent`
   
   ## Verifying this change
   
   - Most changes are covered by existing tests since it is mainly restructuring code
   - Added `ClassPathJobGraphRetrieverTest` to test `ClassPathJobGraphRetriever`
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no)
     - The serializers: (no)
     - The runtime per-record code paths (performance sensitive): (no)
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
     - The S3 file system connector: (no)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (no)
     - If yes, how is the feature documented? (not applicable)
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Make ClusterEntrypoint more modular
> -----------------------------------
>
>                 Key: FLINK-10411
>                 URL: https://issues.apache.org/jira/browse/FLINK-10411
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination
>    Affects Versions: 1.7.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.7.0
>
>
> Currently, the {{ClusterEntrypoint}} is not very modular in the sense that it cannot be really used for testing purposes (e.g. starting a {{Dispatcher}} with a {{WebMonitorRestEndpoint}}). The problem is that the {{ClusterEntrypoint}} combines too many responsibilities (creating the cluster services, starting the cluster components and deciding on when to terminate the JVM process).
> I suggest to make the structure more compositional, meaning to split up the service generation from the cluster component start up. That way we could also remove code duplication between the different {{ClusterEntrypoint}} implementations.



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