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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2016-10-24T12:59:28Z
[FLINK-4887] Refactor StackTraceSampleCoordinator to work with
TaskManagerGateway and Flink futures
commit 1394fa738ab2cb2718d3644c6f96be7012b91290
Author: Till Rohrmann <[email protected]>
Date: 2016-10-24T13:30:44Z
[FLINK-4887] Refactor CheckpointCoordinator to work with TaskManagerGateway
commit 6edf99c1a320f6e2d7e85ab69a60dd8f17e8e6c1
Author: Till Rohrmann <[email protected]>
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 <[email protected]>
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 [email protected] or file a JIRA ticket
with INFRA.
---