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

Rohith commented on MAPREDUCE-6160:
-----------------------------------

The only API that expect null in the MRClientProtocol getJobReport. null has 
been checked in the trailing call hierarchy of getJobReport.I agree this breaks 
compatibility.

But other API's implementation is vulnerable to throw NPE if queried with 
invalid job id. This would be better if either it should be RuntimeException or 
API defined IOException with proper message to client.Any thoughts?

> Potential NullPointerException in MRClientProtocol interface implementation.
> ----------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-6160
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6160
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Rohith
>            Assignee: Rohith
>         Attachments: MAPREDUCE-6160.patch, MAPREDUCE-6160.patch
>
>
> In the implementation of MRClientProtocol, many methods can throw 
> NullPointerExceptions. Instead of NullPointerExceptions, better to throw 
> IOException with proper message.
> In the HistoryClientService class and MRClientService class has 
> #verifyAndGetJob() method that return job object as null.
> {code}
> getTaskReport(GetTaskReportRequest request) throws IOException;
> getTaskAttemptReport(GetTaskAttemptReportRequest request) throws IOException;
> getCounters(GetCountersRequest request) throws IOException;
> getTaskAttemptCompletionEvents(GetTaskAttemptCompletionEventsRequest request) 
> throws IOException;
> getTaskReports(GetTaskReportsRequest request) throws IOException;
> getDiagnostics(GetDiagnosticsRequest request) throws IOException;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to