hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom White (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-103) Add a yarn AM - RM client module
Date Thu, 20 Dec 2012 10:37:13 GMT

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

Tom White commented on YARN-103:

> The interface shouldn't really be implemented by anyone outside of YARN

This is the heart of the problem. We don't have a way to say (via the audience annotations)
that an interface is for read-only use only - and not for users to implement. An interface
may be @Public @Stable from the point of view of a user who wants to call it, but that doesn't
mean that folks should implement it themselves, since for interfaces like the one we are discussing
we might want to add a new method, say (note that such a change is compatible with @Stable).
Adding a new method is fine for the first type of user, but not for the second, since their
implementation breaks.

In this case, I think it's likely we'll add more methods. For example, it would be useful
to add a waitForState method to YarnClient (which is also an interface), which waits for a
given application to reach a particular YarnApplicationState. If YarnClient were a class then
this would be a compatible change, but if it's an interface then it is not.

I think we should do one of the following:
1. Change YarnClient and AMRMClient to be concrete implementations.
2. Leave the interface/implementation distinction and make the interfaces @Public @Unstable.

I prefer 1. since these classes are helper classes - they are not a tightly-defined interface.
> Add a yarn AM - RM client module
> --------------------------------
>                 Key: YARN-103
>                 URL: https://issues.apache.org/jira/browse/YARN-103
>             Project: Hadoop YARN
>          Issue Type: Improvement
>            Reporter: Bikas Saha
>            Assignee: Bikas Saha
>         Attachments: YARN-103.1.patch, YARN-103.2.patch, YARN-103.3.patch, YARN-103.4.patch,
YARN-103.4.wrapper.patch, YARN-103.5.patch, YARN-103.6.patch, YARN-103.7.patch
> Add a basic client wrapper library to the AM RM protocol in order to prevent proliferation
of code being duplicated everywhere. Provide helper functions to perform reverse mapping of
container requests to RM allocation resource request table format.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message