[
https://issues.apache.org/jira/browse/MAPREDUCE-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14219595#comment-14219595
]
Jason Lowe commented on MAPREDUCE-6160:
---------------------------------------
If an existing API is returning null then it must continue to do so rather than
throw in the new version to preserve backwards compatibility.
If an existing API is throwing NPE then I think it's OK to change that to throw
IOException instead. However it may be better to return null instead if that
would make the interface more self-consistent.
> 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)