Wangda Tan commented on YARN-3489:

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
  public static void normalizeAndValidateRequest(ResourceRequest resReq,
      Resource maximumResource, String queueName, YarnScheduler scheduler,
      boolean isRecovery)
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

Reply via email to