[ https://issues.apache.org/jira/browse/FLINK-4455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15453760#comment-15453760 ]
ASF GitHub Bot commented on FLINK-4455: --------------------------------------- GitHub user tillrohrmann opened a pull request: https://github.com/apache/flink/pull/2449 [FLINK-4455] [FLINK-4424] [networkenv] Make NetworkEnvironment independent of ActorGateway and JobManager association Makes the NetworkEnvironment independent of the JobManager association. This means that the NetworkEnvironment and with it the ConnectionManager is started before the TaskManager actor is executed. Furthermore, the ConnectionManager keeps running even in case of a JobManager disassocation. In the wake of the remodelling this behaviour, the PartitionStateChecker and the ResultPartitionConsumableNotifier which depend on the JobManager association were moved out of the NetworkEnvironment. They are now contained in the SlotEnvironment which will be set up when the TaskManager connects to a JobManager. The SlotEnvironment contains all information related to the associated JobManager. Since all slots are implicitly associated with the JobManager which is the leader, we only create one SlotEnvironment which is shared by all Tasks. Introduce SlotEnvironment to accommodate the PartitionStateChecker and ResultPartitionConsumableNotifier Remove the PartitionStateChecker and the ResultPartitionConsumableNotifier from the NetworkEnvironment. Start the NetworkEnvironment when the TaskManager components are created. Keep the NetworkEnvironment running also when the JobManager is disassociated. You can merge this pull request into a Git repository by running: $ git pull https://github.com/tillrohrmann/flink FLINK-4455 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/2449.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 #2449 ---- commit 96b1772d4581365eeec6614827b36f76a83ba5d0 Author: Till Rohrmann <trohrm...@apache.org> Date: 2016-08-31T07:33:46Z [FLINK-4455] [FLINK-4424] [networkenv] Make NetworkEnvironment independent of ActorGateway and JobManager association Makes the NetworkEnvironment independent of the JobManager association. This means that the NetworkEnvironment and with it the ConnectionManager is started before the TaskManager actor is executed. Furthermore, the ConnectionManager keeps running even in case of a JobManager disassocation. In the wake of the remodelling this behaviour, the PartitionStateChecker and the ResultPartitionConsumableNotifier which depend on the JobManager association were moved out of the NetworkEnvironment. They are now contained in the SlotEnvironment which will be set up when the TaskManager connects to a JobManager. The SlotEnvironment contains all information related to the associated JobManager. Since all slots are implicitly associated with the JobManager which is the leader, we only create one SlotEnvironment which is shared by all Tasks. Introduce SlotEnvironment to accommodate the PartitionStateChecker and ResultPartitionConsumableNotifier Remove the PartitionStateChecker and the ResultPartitionConsumableNotifier from the NetworkEnvironment. Start the NetworkEnvironment when the TaskManager components are created. Keep the NetworkEnvironment running also when the JobManager is disassociated. ---- > Replace ActorGateways in NetworkEnvironment by interfaces > --------------------------------------------------------- > > Key: FLINK-4455 > URL: https://issues.apache.org/jira/browse/FLINK-4455 > Project: Flink > Issue Type: Improvement > Components: Network, TaskManager > Reporter: Till Rohrmann > Assignee: Till Rohrmann > > The {{NetworkEnvironment}} communicates with the outside world > ({{TaskManager}} and {{JobManager}}) via {{ActorGateways}}. This bakes in the > dependency on actors. > In terms of modularization and an improved abstraction (especially wrt > Flip-6) I propose to replace the {{ActorGateways}} by interfaces which > exposes the required methods. The current implementation would then simply > wrap the method calls in messages and send them via the {{ActorGateway}} to > the recipient. > In Flip-6 the {{JobMaster}} and the {{TaskExecutor}} could simply implement > these interfaces as part of their RPC contract. -- This message was sent by Atlassian JIRA (v6.3.4#6332)