[ https://issues.apache.org/jira/browse/FLINK-9455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629239#comment-16629239 ]
ASF GitHub Bot commented on FLINK-9455: --------------------------------------- GJL commented on a change in pull request #6734: [FLINK-9455][RM] Add support for multi task slot TaskExecutors URL: https://github.com/apache/flink/pull/6734#discussion_r220674263 ########## File path: flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManager.java ########## @@ -1176,8 +1177,22 @@ public void reportPayload(ResourceID resourceID, Void payload) { // Resource Management // ------------------------------------------------------------------------ - protected int getNumberPendingSlotRequests() { - return slotManager.getNumberPendingSlotRequests(); + protected int getNumberRequiredTaskManagerSlots() { + return slotManager.getNumberPendingTaskManagerSlots(); + } + + // ------------------------------------------------------------------------ + // Helper methods + // ------------------------------------------------------------------------ + + protected static Collection<ResourceProfile> createSlotsPerWorker(int numSlots) { + final Collection<ResourceProfile> slots = new ArrayList<>(numSlots); Review comment: It would be enough to write: `Collections.nCopies(numSlots, ResourceProfile.ANY);` The returned `List` would also be immutable. At the moment there is no need to return a mutable list. I would even say it is not right that after calling `Collection<ResourceProfile> startNewWorker(ResourceProfile resourceProfile)`, one may potentially modify the state of the ResourceManager (by accidentally modifying the returned collection). ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make SlotManager aware of multi slot TaskManagers > ------------------------------------------------- > > Key: FLINK-9455 > URL: https://issues.apache.org/jira/browse/FLINK-9455 > Project: Flink > Issue Type: Improvement > Components: Distributed Coordination, ResourceManager > Affects Versions: 1.5.0 > Reporter: Till Rohrmann > Assignee: Till Rohrmann > Priority: Major > Labels: pull-request-available > Fix For: 1.7.0 > > > The {{SlotManager}} responsible for managing all available slots of a Flink > cluster can request to start new {{TaskManagers}} if it cannot fulfill a slot > request. The started {{TaskManager}} can be started with multiple slots > configured but currently, the {{SlotManager}} thinks that it will be started > with a single slot. As a consequence, it might issue multiple requests to > start new TaskManagers even though a single one would be sufficient to > fulfill all pending slot requests. > In order to avoid requesting unnecessary resources which are freed after the > idle timeout, I suggest to make the {{SlotManager}} aware of how many slots a > {{TaskManager}} is started with. That way the SlotManager only needs to > request a new {{TaskManager}} if all of the previously started slots > (potentially not yet registered and, thus, future slots) are being assigned > to slot requests. -- This message was sent by Atlassian JIRA (v7.6.3#76005)