[
https://issues.apache.org/jira/browse/MAPREDUCE-4942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13554565#comment-13554565
]
Robert Kanter commented on MAPREDUCE-4942:
------------------------------------------
Those methods all eventually call the {{updateStatus}} method, which uses
{{UserGroupInformation}} and can throw the {{InterruptedException}}. Though
the JavaDoc for {{updateStatus}} doesn't mention the {{InterruptedException}}
either, only the {{IOException}}.
{code}
/** Some methods need to update status immediately. So, refresh
* immediately
* @throws IOException
*/
synchronized void updateStatus() throws IOException, InterruptedException {
this.status = ugi.doAs(new PrivilegedExceptionAction<JobStatus>() {
@Override
public JobStatus run() throws IOException, InterruptedException {
return cluster.getClient().getJobStatus(status.getJobID());
}
});
if (this.status == null) {
throw new IOException("Job status not available ");
}
this.statustime = System.currentTimeMillis();
}
{code}
Perhaps it would be better and simpler to make {{updateStatus}} not throw an
InterruptedException?
> mapreduce.Job has a bunch of methods that throw InterruptedException so its
> incompatible with MR1
> -------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-4942
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-4942
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2
> Affects Versions: 2.0.2-alpha
> Reporter: Robert Kanter
> Assignee: Robert Kanter
>
> The following methods in MR2's {{org.apache.hadoop.mapreduce.Job}} throw an
> {{InterruptedException}} but don't in MR1, which makes them incompatible.
> (Their Javadoc comments are also missing that they throw an
> {{InterruptedException}} anyway)
> I propose that we wrap the {{InterruptedException}} in a
> {{RuntimeException}}.
> {code}
> public float setupProgress() throws IOException, InterruptedException
> public float mapProgress() throws IOException, InterruptedException
> public float reduceProgress() throws IOException, InterruptedException
> public boolean isComplete() throws IOException, InterruptedException
> public boolean isSuccessful() throws IOException, InterruptedException
> public void killJob() throws IOException, InterruptedException
> public void killTask(org.apache.hadoop.mapreduce.TaskAttemptID) throws
> IOException, InterruptedException
> public void failTask(org.apache.hadoop.mapreduce.TaskAttemptID) throws
> IOException, InterruptedException
> public Counters getCounters() throws IOException, InterruptedException
> {code}
--
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