[
https://issues.apache.org/jira/browse/YARN-3489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14535038#comment-14535038
]
Wangda Tan commented on YARN-3489:
----------------------------------
[~varun_saxena],
I think we should pass queueinfo only once for a list of resource request.
When {{RMServerUtils.normalizeAndValidateRequests}} is called, all
ResourceRequests from same application, so they will from same queue as well.
Then you can pass it down to {{normalizeAndvalidateRequest}}, In
{code}
public static void normalizeAndValidateRequest(ResourceRequest resReq,
Resource maximumResource, String queueName, YarnScheduler scheduler,
boolean isRecovery)
{code}
You can add a queue info as parameter, only get queue info from scheduler when
it's not null. Thoughts?
> RMServerUtils.validateResourceRequests should only obtain queue info once
> -------------------------------------------------------------------------
>
> Key: YARN-3489
> URL: https://issues.apache.org/jira/browse/YARN-3489
> Project: Hadoop YARN
> Issue Type: Improvement
> Components: resourcemanager
> Affects Versions: 2.6.0
> Reporter: Jason Lowe
> Assignee: Varun Saxena
> Attachments: YARN-3489.01.patch, YARN-3489.02.patch
>
>
> Since the label support was added we now get the queue info for each request
> being validated in SchedulerUtils.validateResourceRequest. If
> validateResourceRequests needs to validate a lot of requests at a time (e.g.:
> large cluster with lots of varied locality in the requests) then it will get
> the queue info for each request. Since we build the queue info this
> generates a lot of unnecessary garbage, as the queue isn't changing between
> requests. We should grab the queue info once and pass it down rather than
> building it again for each request.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)