[ 
https://issues.apache.org/jira/browse/YARN-5587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Varun Vasudev updated YARN-5587:
--------------------------------
    Attachment: YARN-5587-YARN-3926.006.patch

Thanks for the review [~asuresh]! I've uploaded a new patch to address your 
comments.

{quote}
    We create a special ProfileCapability with profile name NONE where user 
only specifies the capability (Resource). This would be equivalent to our old 
Resource
    We replace the capability(Resource) argument in both the ContainerRequest 
and ResourceRequest with ProfileCapability. Maybe for backward compatibility, 
we have 1 constructor that takes Resource and 1 that takes ProfileCapability. 
We then convert a Resource to ProfileCapability(NONE, Resource) in the 
AMRMClient.
{quote}

Fixed. I've left the old Resource interfaces for backwards compatibility but 
internally everything is getting converted to a ProfileCapability. Instead of 
NONE, I'm setting the profile to "default". On the RM side, the default profile 
is used and overriden with the Resource values.

{quote}
    In the rest of the AMRMClient codebase, including the RemoteRequestsTable} 
}we just use {{ProfileCapability
{quote}

Fixed.

{quote}
Hmmm... Actually, I think we have to deal with one other issue in the 
AMRMClient:
Once a Container is returned by the RM, the AMRMClient uses the 
getMatchingRequests() api to retrieve matching ContainerRequests and remove it.

This implies that we need to have an equivalence relationship from a Resource 
to a ProfileCapability, else the matching won't work. Thus I think we might 
have to normalize all "named" ProfileCapabilities to a either a Resource or a 
NONE ProfileCapability (with the override being the complete resource)

Either that, or we have to ensure that these new requests are tagged with 
unique 'allocationRequestIds', for which we already have a separate 
getMatchingRequests that matches ContainerRequests to Containers only based on 
the allocationRequestId.
{quote}

I missed this - thanks for pointing it out. I added a function to convert 
profiles back to the Resource values to make the functionality work.

> Add support for resource profiles
> ---------------------------------
>
>                 Key: YARN-5587
>                 URL: https://issues.apache.org/jira/browse/YARN-5587
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager, resourcemanager
>            Reporter: Varun Vasudev
>            Assignee: Varun Vasudev
>              Labels: oct16-hard
>         Attachments: YARN-5587-YARN-3926.001.patch, 
> YARN-5587-YARN-3926.002.patch, YARN-5587-YARN-3926.003.patch, 
> YARN-5587-YARN-3926.004.patch, YARN-5587-YARN-3926.005.patch, 
> YARN-5587-YARN-3926.006.patch
>
>
> Add support for resource profiles on the RM side to allow users to use 
> shorthands to specify resource requirements.



--
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