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/01/18 10:02:00 UTC

[jira] [Commented] (FLINK-8450) Make JobMaster/DispatcherGateway#requestJob type safe

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

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

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/5309

    [FLINK-8450] [flip6] Make JobMaster/DispatcherGateway#requestJob type safe

    ## What is the purpose of the change
    
    Let JobMasterGateway#requestJob and DispatcherGateway#requestJob return a
    CompletableFuture<SerializableExecutionGraph> instead of a
    CompletableFuture<AccessExecutionGraph>. In order to support the old code
    and the JobManagerGateway implementation we have to keep the return type
    in RestfulGateway. Once the old code has been removed, we should change
    this as well.
    
    ## Brief change log
    
    - Change return type of `RestfulGateway#requestJob` to `CompletableFuture<? extends AccessExecutionGraph>`
    - Change return type of `JobMasterGateway#requestJob` and `DispatcherGateway#requestJob` to `CompletableFuture<SerializableExecutionGraph>`
    - Introduce `TestingRestfulGateway` as a testing utility
    - Adapt `ExecutionGraphCacheTest` to use `TestingRestfulGateway` instead of Mockito mocks
    
    ## Verifying this change
    
    This change is already covered by existing tests.
    
    ## 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: (no)
      - 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)


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tillrohrmann/flink makeRequestJobTypeSafe

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/5309.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5309
    
----
commit 9883bed1cca16a419a46fe09ad1498ada42d67e2
Author: Till Rohrmann <tr...@...>
Date:   2018-01-16T17:45:53Z

    [FLINK-8449] [flip6] Extend OnCompletionActions to accept an SerializableExecutionGraph
    
    This commit introduces the SerializableExecutionGraph which extends the
    AccessExecutionGraph and adds serializability to it. Moreover, this commit
    changes the OnCompletionActions interface such that it accepts a
    SerializableExecutionGraph instead of a plain JobResult. This allows to
    archive the completed ExecutionGraph for further usage in the container
    component of the JobMasterRunner.

commit 7ac8280eddad550f18bfecccb8f2959a422acf1f
Author: Till Rohrmann <tr...@...>
Date:   2018-01-17T14:01:57Z

    [FLINK-8450] [flip6] Make JobMaster/DispatcherGateway#requestJob type safe
    
    Let JobMasterGateway#requestJob and DispatcherGateway#requestJob return a
    CompletableFuture<SerializableExecutionGraph> instead of a
    CompletableFuture<AccessExecutionGraph>. In order to support the old code
    and the JobManagerGateway implementation we have to keep the return type
    in RestfulGateway. Once the old code has been removed, we should change
    this as well.

----


> Make JobMaster/DispatcherGateway#requestJob type safe
> -----------------------------------------------------
>
>                 Key: FLINK-8450
>                 URL: https://issues.apache.org/jira/browse/FLINK-8450
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination
>    Affects Versions: 1.5.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Minor
>              Labels: flip-6
>             Fix For: 1.5.0
>
>
> Currently, the {{RestfulGateway#requestJob}} returns a {{CompletableFuture<AccessExecutionGraph>}}. Since {{AccessExecutionGraph}} is non serializable it could fail if we execute this RPC from a remote system. In order to make it typesafe we should change its signature to {{SerializableExecutionGraph}}.



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