[
https://issues.apache.org/jira/browse/YARN-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535616#comment-13535616
]
Alejandro Abdelnur edited comment on YARN-103 at 12/19/12 3:21 AM:
-------------------------------------------------------------------
IMO the interface/class approach is good if the following considerations are
observed:
* the interface defines the API contract
* the class may implement default implementation of the contract
* the class may implement helper methods
This pattern is done over and over in the the JDK and in many extensions (ie
Servlet/HttpServlet).
A nice thing of this pattern is that if in the future you need a new method in
API contract, you can add it to the interface, and add to the class the default
implementation of this new method (this is a must) and all existing subclasses
won't break and won't need to implement such new method if they are ok with the
default behavior of the new method.
I'd suggest (following JDK conventions) renaming the AMRMCLientImpl class to
AbstractAMRMClient and making it an abstract class.
was (Author: tucu00):
IMO the interface/class approach is good if the following considerations
are observed:
* the interface defines the API contract
* the class may implement default implementation of the contract
* the class may implement helper methods
This pattern is done over and over in the the JDK and in may extensions (ie
Servlet/HttpServlet).
A nice thing of this pattern is that if in the future you need a new method in
API contract, you can add it to the interface, and add to the class the default
implementation of this new method (this is a must) and all existing subclasses
won't break and won't need to implement such new method if they are ok with the
default behavior of the new method.
I'd suggest (following JDK conventions) renaming the AMRMCLientImpl class to
AbstractAMRMClient and making it an abstract class.
> 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