GitHub user tillrohrmann opened a pull request: https://github.com/apache/flink/pull/5088
[FLINK-8087] Decouple Slot from AllocatedSlot ## What is the purpose of the change This commit introduces the SlotContext which is an abstraction for the SimpleSlot to obtain the relevant slot information to do the communication with the TaskManager without relying on the AllocatedSlot which is now only used by the SlotPool. This PR is based on #5087. ## Brief change log - Introduce `SlotContext` as simple abstraction for slot related information - Remove dependency of `Slot` on `AllocatedSlot` which is now only used internally by the `SlotPool`. - Introduce `SimpleSlotContext` which implements `SlotContext` and acts as the slot context for the `SimpleSlot`. ## 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) CC: @GJL You can merge this pull request into a Git repository by running: $ git pull https://github.com/tillrohrmann/flink decoupleSlotFromSlotPool Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5088.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 #5088 ---- commit d30dde83548dbeff4249f3b57b67cdb6247af510 Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-11-14T22:50:52Z [FLINK-8078] Introduce LogicalSlot interface The LogicalSlot interface decouples the task deployment from the actual slot implementation which at the moment is Slot, SimpleSlot and SharedSlot. This is a helpful step to introduce a different slot implementation for Flip-6. commit e5da9566a6fc8a36ac8b06bae911c0dff5554e5d Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-11-15T13:20:27Z [FLINK-8085] Thin out LogicalSlot interface Remove isCanceled, isReleased method and decouple logical slot from Execution by introducing a Payload interface which is set for a LogicalSlot. The Payload interface is implemented by the Execution and allows to fail an implementation and obtaining a termination future. Introduce proper Execution#releaseFuture which is completed once the Execution's assigned resource has been released. commit 84d86bebe2f9f8395430e7c71dd2393ba117b44f Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-11-24T17:03:49Z [FLINK-8087] Decouple Slot from AllocatedSlot This commit introduces the SlotContext which is an abstraction for the SimpleSlot to obtain the relevant slot information to do the communication with the TaskManager without relying on the AllocatedSlot which is now only used by the SlotPool. ---- ---