The ResourceRequest priority field is definitely used in the RM.  In the
scheduler, requests within an application are keyed by it, and it's also
used for determining which resource request gets satisfied first within an
application.

The reason we can't mix specific and non-specific requests is that the
scheduler stores a single ResourceRequest (with possible a large #
containers) per location per priority per app.

Check out AppSchedulingInfo.java for how this all works.

The deeper issue is that the allocate protocol is fundamentally a little
lossy.  It collapses requests into the data structures in
AppSchedulingInfo.  Meaning there's no way to definitively tie a container
request to a container allocation.

-Sandy

On Thu, Oct 31, 2013 at 6:02 AM, Steve Loughran <[email protected]>wrote:

> 1. I was of the understanding that the priority field was unused in the RM
> -which is why I (and no doubt others) have been using it as a place to add
> information about a request -letting us tie back an allocation with a
> priority. Am I wrong?
>
> 2. the AMRMClientImpl.addContainerRequest() method contains code that
> verifies that you can't have any outstanding request with the same priority
> and different strict/relaxed placement criter
>
>
>     // check that specific and non-specific requests cannot be mixed within
> a
>     // priority
>     checkLocalityRelaxationConflict(req.getPriority(), ANY_LIST,
>         req.getRelaxLocality());
>
>
> That's across requests.
>
> What is the rationale for this? Should I not have the right to specify
> specific locations for some requests, while issue some with relax=false,
> especially as you cannot have relax=false if you don't specify any
> destinations: https://issues.apache.org/jira/browse/YARN-1018
>
> The result of the different checks means you cannot submit requests of the
> same priority where some have a specified location and relax=false along
> with requests of the same priority that don't have a location
>
> Have I misread something here? Or is there some aspect of Priority that I
> don't understand.
>
> -steve
>
> ps, please can we have a int field purely for the caller to make user of?
>
> --
> CONFIDENTIALITY NOTICE
> NOTICE: This message is intended for the use of the individual or entity to
> which it is addressed and may contain information that is confidential,
> privileged and exempt from disclosure under applicable law. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any printing, copying, dissemination, distribution, disclosure or
> forwarding of this communication is strictly prohibited. If you have
> received this communication in error, please contact the sender immediately
> and delete it from your system. Thank You.
>

Reply via email to