[
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