You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2013/05/07 06:31:16 UTC

[jira] [Updated] (MAPREDUCE-4942) mapreduce.Job has a bunch of methods that throw InterruptedException so its incompatible with MR1

     [ https://issues.apache.org/jira/browse/MAPREDUCE-4942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Kanter updated MAPREDUCE-4942:
-------------------------------------

    Attachment: MAPREDUCE-4942.patch

I saw that in JobClient, there were methods which simply called the corresponding methods in Job that we're interested in for this JIRA, but it was wrapping any thrown InterruptedExceptions in IOExceptions.  So, I think the best thing to do here is to have Job wrap the InterruptedExceptions in IOExceptions (and not RuntimeExceptions as discussed before) instead of having JobClient wrap them.  The patch does this.
                
> 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
>         Attachments: MAPREDUCE-4942.patch
>
>
> 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