[ 
https://issues.apache.org/jira/browse/YARN-7613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16302521#comment-16302521
 ] 

Arun Suresh commented on YARN-7613:
-----------------------------------

Thanks for the patch [~pgaref]

Couple of comments:
* It looks like the temporary tags for the might be a common requirement for 
all / most algorithms. I propose we modify the place() method to pass in a temp 
Tags manager. In the placementDispacher, where we call the place method, we can 
create a temp tagsmanager and pass it to the algorithm - maybe call it a 
'scratch' tags manager. Maybe, this can be a subclass of the TagsManager which 
just exposes an addTempTag and removeTempTag. I also noticed in the 
TagsManager, that we don't really need both the containerId and applicationId 
to be passed into the addContainer method. since the applicationId is derivable 
from the containerId. Also, the containerId is not exactly used in the method 
(we can fix this in another JIRA).
* So I think we should keep the canAssign, private (or maybe have a util class 
that exposes a static canAssign that takes the containerManager, tagsManager, 
request, applicationId etc and returns boolean). The Algorithm, IMO, should 
expose only a single method in its interface. I am also thinking maybe we 
remove the init method also. and pass an AlgorithmContext in the place method, 
that encapsulates the TagsManager, ConstraintManager, the scratch TagsManager 
and the NodeCandidateSelector. Thoughts ?


> Implement Planning algorithms for rich placement
> ------------------------------------------------
>
>                 Key: YARN-7613
>                 URL: https://issues.apache.org/jira/browse/YARN-7613
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Arun Suresh
>            Assignee: Panagiotis Garefalakis
>         Attachments: YARN-7613.wip.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to