[
https://issues.apache.org/jira/browse/YARN-7682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16305987#comment-16305987
]
Arun Suresh commented on YARN-7682:
-----------------------------------
bq. The problem Panagiotis describes with affinity seems to happen only when
the source tag is the same as the target tag. If it is not, then the canAssign
should fail no matter whether it is the first allocation. So I think these two
cases should be distinguished.
To clarify: if source != target, then canAssgn should fail if the NODE does not
have the tag and if source == target, we can relax this for first allocation.
right ?
My opinion is..
So, like you mentioned, until we can support multiple containers satisfyability
at the same time - we should probably return true for affinity irrespective of
whether source and target tags are same or different. Essentially,
checkSatisfyablilty should just check that cMax is not exceeded - and if cMin
== 0 (assuming end user request for anti-affinity will be translated into a
SingleConstraint with cMin = 0).
Support for multiple container checkSatisfyablilty is not easy - since even the
Scheduler actually allocates a single RMConatiner at a time - and we we need
some more refactoring. Also what if we want container affinity across apps, in
which case we would have to do checkSatisfyability and get the scheduler to
allocate containers for multiple apps simultaneously - which might not even be
possible, if both apps are in different queues.
> Expose canAssign method in the PlacementConstraintManager
> ---------------------------------------------------------
>
> Key: YARN-7682
> URL: https://issues.apache.org/jira/browse/YARN-7682
> Project: Hadoop YARN
> Issue Type: Sub-task
> Reporter: Arun Suresh
> Assignee: Panagiotis Garefalakis
> Attachments: YARN-7682-YARN-6592.001.patch, YARN-7682.wip.patch
>
>
> As per discussion in YARN-7613. Lets expose {{canAssign}} method in the
> PlacementConstraintManager that takes a sourceTags, applicationId,
> SchedulerNode and AllocationTagsManager and returns true if constraints are
> not violated by placing the container on the node.
> I prefer not passing in the SchedulingRequest, since it can have > 1
> numAllocations. We want this api to be called for single allocations.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]