GitHub user tillrohrmann opened a pull request:

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

    [FLINK-4887] [execution graph] Introduce TaskManagerGateway to encapsulate 
communcation logic

    This PR is based on #2689 and #2698.
    
    This PR introduces the `TaskManagerGateway` which is an abstraction layer 
for rpc calls to the `TaskManager`. Before the rpcs were directly executed on 
the `ActorGateway`. This is problematic since it bakes the dependency on Akka 
directly into many Flink components. In order to make them compatible with the 
changes of Flip-6, the rpc implementation details are now hidden behind the 
`TaskManagerGateway` interface implementation.
    
    The `ActorTaskManagerGateway` is the implementation which uses the 
`ActorGateways` to send the rpcs.
    
    In the wake of refactoring the `ExecutionVertex` and the `Execution` of the 
`ExecutionGraph`, the `StackTraceSampleCoordinator` and `CheckpointCoordinator` 
were changed so that they now use mostly Flink's own future abstraction.
    
    Furthermore, some of the TaskManager's rpcs such as `CancelTask` and 
`StopTask` were changed so that they now return an `Acknowledge` message in 
case of a success and otherwise send an exception back to the caller.
    
    This PR is a refactoring for the integration of Flip-6.

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

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

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

    https://github.com/apache/flink/pull/2699.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 #2699
    
----
commit a29d458d689259b017015947c114dee026ffcbe8
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-25T08:31:53Z

    [FLINK-4903] [futures] Introduce synchronous future operations
    
    The synchronous future operations are executed by the thread which adds the 
operation
    if the future is already completed or by the thread executing the last 
operation.

commit fb686e50fe408503d4503c7d784bf70bd5f82b0b
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-23T22:25:13Z

    [FLINK-4889] [InstanceManager] Remove ActorRef dependency from 
InstanceManager
    
    The instance manager should not know about the underlying RPC abstraction, 
namely Akka.
    Therefore, the PR removes the dependency on ActorRef from the 
InstanceManager.

commit a0488d1bdd91e939db4b30206afcab6d446adddd
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-23T09:06:47Z

    [FLINK-4887] [execution graph] Introduce TaskManagerGateway to encapsulate 
communcation logic
    
    All task manager related logic is now encapsulated in the 
TaskManagerGateway. Consequently,
    there is no direct use of the ActorGateway in the ExecutionGraph anymore.
    
    Add PartitionInfo
    
    [FLINK-4887] Add FutureUtils#retry to automatically retry failed future 
operations
    
    Adapt job manager

commit 1c8a925072a66d41af2038daecd9a0d5e1a35edd
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-24T12:59:28Z

    [FLINK-4887] Refactor StackTraceSampleCoordinator to work with 
TaskManagerGateway and Flink futures

commit 1394fa738ab2cb2718d3644c6f96be7012b91290
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-24T13:30:44Z

    [FLINK-4887] Refactor CheckpointCoordinator to work with TaskManagerGateway

commit 6edf99c1a320f6e2d7e85ab69a60dd8f17e8e6c1
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-24T15:12:13Z

    [FLINK-4887] Fix test cases to work with the newly introduce 
TaskManagerGateway
    
    [FLINK-4887] Update FlinkFuture#handlyAsync to avoid second future operation

commit b78565b87bf23170c586ee621a9dc52a8744a59e
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-10-26T23:09:20Z

    [FLINK-4887] Remove TaskOpeartionResult message

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to