[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13983110#comment-13983110
 ] 

Hudson commented on MAPREDUCE-5812:
-----------------------------------

SUCCESS: Integrated in Hadoop-trunk-Commit #5580 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/5580/])
MAPREDUCE-5812. Make job context available to 
OutputCommitter.isRecoverySupported(). Contributed by Mohammad Kamrul Islam 
(jlowe: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1590668)
* /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
* /hadoop/common/trunk/hadoop-mapreduce-project/dev-support/findbugs-exclude.xml
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/MRApp.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRecovery.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/FileOutputCommitter.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/OutputCommitter.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/OutputCommitter.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/output/FileOutputCommitter.java
* 
/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/output/NullOutputFormat.java


>  Make job context available to OutputCommitter.isRecoverySupported()
> --------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5812
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5812
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mr-am
>    Affects Versions: 2.3.0
>            Reporter: Mohammad Kamrul Islam
>            Assignee: Mohammad Kamrul Islam
>             Fix For: 3.0.0, 2.5.0
>
>         Attachments: MAPREDUCE-5812.1.patch, MAPREDUCE-5812.2.patch, 
> MAPREDUCE-5812.3.patch, MAPREDUCE-5812.4.patch, MAPREDUCE-5812.5.patch, 
> MAPREDUCE-5812.6.patch, MAPREDUCE-5812.7.patch
>
>
> Background
> ==========
> The system like Hive provides its version of  OutputCommitter. The custom 
> implementation of isRecoverySupported() requires task context. From 
> taskContext:getConfiguration(), hive checks if  hive-defined specific 
> property is set or not. Based on the property value, it returns true or 
> false. However, in the current OutputCommitter:isRecoverySupported(), there 
> is no way of getting task config. As a result, user can't  turn on/off the 
> MRAM recovery feature.
> Proposed resolution:
> ===============
> 1. Pass Task Context into  isRecoverySupported() method.
> Pros: Easy and clean
> Cons: Possible backward compatibility issue due to aPI changes. (Is it true?)
> 2. Call outputCommitter.setupTask(taskContext) from MRAM: The new 
> OutputCommitter will store the context in the class level variable and use it 
> from  isRecoverySupported() 
> Props: No API changes. No backward compatibility issue. This call can be made 
> from MRAppMaster.getOutputCommitter() method for old API case.
> Cons: Might not be very clean solution due to class level variable.
> Please give your comments.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to