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

Arun Suresh commented on YARN-4888:
-----------------------------------

Thanks for the patch [~subru]

Couple of initial comments:
# In {{AppSchedulingInfo::checkForDeactivation()}}, given that you are 
introducing an inner for loop, the deactivate = false should be set only if ALL 
requests in the {{mappedRequest.values()}} has {{request.getNumContainers() > 
0}} right ?
# In {{AppSchedulingInfo::allocateNodeLocal()}}, That {{rackLocalRequest}} and 
{{offRackRequest}} selected from the {{resoureRequestMap}} should correspond to 
the same allocationRequestId of the {{nodeLocalRequest}}. Only when you have a 
single allocationRequestId, can you guarantee that {{.firstEntry().getValue()}} 
will correspond to the same nodeLocalRequest in both cases.

With regard to the getMergeResource() method. I have a feeling we should not be 
merging all requests of a {{Priority}}. Consider this alternate approach, which 
I feel might allow us to more easily verify if we are breaking any invariants 
in the Scheduler:
My intuition is based on the fact that If we agree that, in the absence of an 
*allocateRequestId*, we can simulate the same functionality by using a unique 
Priority to tie all requests we need to be of the same allocateRequestId....  
Then, why not replace the 'Priority' in the 
{{AppSchedulingInfo::resourceRequestMap}} with a new type (called 
*SchedulerPriority*) which is essentially a composite of *Priority + 
allocateRequestId*. If not allocateRequestId is provided, it will default to 0. 
If the *SchedulerPriority* is a subclass of *Priority*, then we wont even need 
to change any of the APIs.

Thoughts ?
I can help provide a quick prototype patch to verify if this works..

> Changes in RM AppSchedulingInfo for identifying resource-requests explicitly
> ----------------------------------------------------------------------------
>
>                 Key: YARN-4888
>                 URL: https://issues.apache.org/jira/browse/YARN-4888
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Subru Krishnan
>            Assignee: Subru Krishnan
>         Attachments: YARN-4888-v0.patch
>
>
> YARN-4879 puts forward the notion of identifying allocate requests 
> explicitly. This JIRA is to track the changes in RM app scheduling data 
> structures to accomplish it. Please refer to the design doc in the parent 
> JIRA for details.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to