[
https://issues.apache.org/jira/browse/YARN-3026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14649321#comment-14649321
]
MENG DING commented on YARN-3026:
---------------------------------
bq. In CS (before this patch), excessReservation won't be completed since
ParentQueue.assignContainers doesn't copy the excessReservation field, so
CapacityScheduler will not release such excessReservations.
[~leftnoteasy], quick question for my own education, before this patch, it
seems that the attempt to fulfill a reservation always starts in the LeafQueue,
i.e.
{code:title=CapacityScheduler#allocateContainersToNode|borderStyle=solid}
LeafQueue queue = ((LeafQueue)reservedApplication.getQueue());
CSAssignment assignment =
queue.assignContainers(
clusterResource,
node,
// TODO, now we only consider limits for parent for non-labeled
// resources, should consider labeled resources as well.
new ResourceLimits(labelManager.getResourceByLabel(
RMNodeLabelsManager.NO_LABEL, clusterResource)));
{code}
So there is no need for ParentQueue.assignContainers to copy excessReservation
field, right?
> Move application-specific container allocation logic from LeafQueue to
> FiCaSchedulerApp
> ---------------------------------------------------------------------------------------
>
> Key: YARN-3026
> URL: https://issues.apache.org/jira/browse/YARN-3026
> Project: Hadoop YARN
> Issue Type: Task
> Components: capacityscheduler
> Reporter: Wangda Tan
> Assignee: Wangda Tan
> Fix For: 2.8.0
>
> Attachments: YARN-3026.1.patch, YARN-3026.2.patch, YARN-3026.3.patch,
> YARN-3026.4.patch, YARN-3026.5.patch, YARN-3026.6.patch
>
>
> Have a discussion with [~vinodkv] and [~jianhe]:
> In existing Capacity Scheduler, all allocation logics of and under LeafQueue
> are located in LeafQueue.java in implementation. To make a cleaner scope of
> LeafQueue, we'd better move some of them to FiCaSchedulerApp.
> Ideal scope of LeafQueue should be: when a LeafQueue receives some resources
> from ParentQueue (like 15% of cluster resource), and it distributes resources
> to children apps, and it should be agnostic to internal logic of children
> apps (like delayed-scheduling, etc.). IAW, LeafQueue shouldn't decide how
> application allocating container from given resources.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)