[ https://issues.apache.org/jira/browse/YARN-955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794196#comment-13794196 ]
Zhijie Shen commented on YARN-955: ---------------------------------- [~mayank_bansal], thanks for the work on the implementation of ApplicationHistoryProtocol. Here're some comments: 1. Is there any special reason to rename ASHService to ApplicationHistoryClientService? 2. Inner ApplicationHSClientProtocolHandler is not necessary. ApplicationHistoryClientService can directly implement ApplicationHistoryProtocol, which is what ASHService did before. {code} + this.protocolHandler = new ApplicationHSClientProtocolHandler(); {code} 3. Incorrect log bellow: {code} + LOG.info("Instantiated MRClientService at " + this.bindAddress); {code} 4. We should use the newInstance method from the record class for GetApplicationAttemptReportResponse and all the other records. {code} + GetApplicationAttemptReportResponse response = + recordFactory + .newRecordInstance(GetApplicationAttemptReportResponse.class); {code} 5. Some methods missed \@Override, for example {code} + public ApplicationAttemptReport getApplicationAttempt( {code} 6. The two methods bellow is not implemented, but we can do it separately, because we need to implement a DelegationTokenSecretManager first. {code} + @Override + public GetDelegationTokenResponse getDelegationToken( + GetDelegationTokenRequest request) throws YarnException, IOException { + // TODO Auto-generated method stub + return null; + } + + @Override + public RenewDelegationTokenResponse renewDelegationToken( + RenewDelegationTokenRequest request) throws YarnException, IOException { + // TODO Auto-generated method stub + return null; + } {code} 7. Did you miss ApplicationHistoryContext in the patch or is it included in the patch of other Jira? {code} + historyContext = (ApplicationHistoryContext) historyService; {code} 8. Why the method bellow has the default access control? {code} + static ApplicationHistoryServer launchAppHistoryServer(String[] args) { {code} 9. In RM and NM, we usually add a protected createXXXX() method for a sub service, such that we can override it, and change to another implementation. It is convenient when we want to mock some part of AHS when drafting the test cases. {code} + ahsClientService = new ApplicationHistoryClientService(historyContext); {code} 10. Shall we have the test cases for the ApplicationHistoryProtocol implementation? > [YARN-321] Implementation of ApplicationHistoryProtocol > ------------------------------------------------------- > > Key: YARN-955 > URL: https://issues.apache.org/jira/browse/YARN-955 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Vinod Kumar Vavilapalli > Assignee: Mayank Bansal > Attachments: YARN-955-1.patch > > -- This message was sent by Atlassian JIRA (v6.1#6144)