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