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

Alejandro Abdelnur commented on YARN-103:
-----------------------------------------

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

Reply via email to