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 "Tom White (JIRA)" <ji...@apache.org> on 2012/12/03 17:07:59 UTC

[jira] [Updated] (MAPREDUCE-4824) Provide a mechanism for jobs to indicate they should not be recovered on restart

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

Tom White updated MAPREDUCE-4824:
---------------------------------

    Attachment: MAPREDUCE-4824.patch

> I'm concerned that this might blow up different schedulers in different ways.

I don't think that's a problem since the code change only affects job submission, which kicks in before scheduling code is run.

> Maybe we need to do an 'if' check during recovery and not throw an IOException?

I had another look at this and came up with a new patch. Does it look better?

The Hadoop 2 change sounds like the right approach. At first I thought we didn't need the property in Hadoop 2, due to MAPREDUCE-2702, but actually it would allow users to mark a job as non-recoverable on a per-instance basis. It would build on YARN-128.

                
> Provide a mechanism for jobs to indicate they should not be recovered on restart
> --------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4824
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4824
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: mrv1
>    Affects Versions: 1.1.0
>            Reporter: Tom White
>            Assignee: Tom White
>         Attachments: MAPREDUCE-4824.patch, MAPREDUCE-4824.patch, MAPREDUCE-4824.patch, MAPREDUCE-4824.patch
>
>
> Some jobs (like Sqoop or HBase jobs) are not idempotent, so should not be recovered on jobtracker restart. MAPREDUCE-2702 solves this problem for MR2, however the approach there is not applicable for MR1, since even if we only use the job-level part of the patch and add a isRecoverySupported method to OutputCommitter, there is no way to use that information from the JT (which initiates recovery), since the JT does not instantiate OutputCommitters - and it shouldn't since they are user-level code. (In MR2 it's OK since the MR AM calls the method.)
> Instead, we can add a MR configuration property to say that a job is not recoverable, and the JT could safely read this from the job conf.

--
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