hadoop-mapreduce-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From acmur...@apache.org
Subject svn commit: r1188842 - in /hadoop/common/trunk/hadoop-mapreduce-project: ./ hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/ha...
Date Tue, 25 Oct 2011 18:14:12 GMT
Author: acmurthy
Date: Tue Oct 25 18:14:12 2011
New Revision: 1188842

URL: http://svn.apache.org/viewvc?rev=1188842&view=rev
Log:
MAPREDUCE-3253. Fixed ContextFactory to clone JobContext correctly.

Added:
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/TestContextFactory.java
Modified:
    hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ContextFactory.java

Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1188842&r1=1188841&r2=1188842&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Tue Oct 25 18:14:12 2011
@@ -1764,6 +1764,9 @@ Release 0.23.0 - Unreleased
     MAPREDUCE-2821. Added missing fields (resourcePerMap & resourcePerReduce)
     to JobSummary logs. (mahadev via acmurthy)
 
+    MAPREDUCE-3253. Fixed ContextFactory to clone JobContext correctly.
+    (acmurthy) 
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ContextFactory.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ContextFactory.java?rev=1188842&r1=1188841&r2=1188842&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ContextFactory.java
(original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/ContextFactory.java
Tue Oct 25 18:14:12 2011
@@ -24,6 +24,7 @@ import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.mapreduce.lib.map.WrappedMapper;
  
 /**
  * A factory to allow applications to deal with inconsistencies between
@@ -123,7 +124,7 @@ public class ContextFactory {
         WRAPPED_CONTEXT_FIELD = null;
       }
       MAP_CONTEXT_CONSTRUCTOR.setAccessible(true);
-      REPORTER_FIELD = taskIOContextCls.getDeclaredField("reporter");
+      REPORTER_FIELD = taskContextCls.getDeclaredField("reporter");
       REPORTER_FIELD.setAccessible(true);
       READER_FIELD = mapContextCls.getDeclaredField("reader");
       READER_FIELD.setAccessible(true);
@@ -141,7 +142,8 @@ public class ContextFactory {
   }
 
   /**
-   * Clone a job or task attempt context with a new configuration.
+   * Clone a {@link JobContext} or {@link TaskAttemptContext} with a 
+   * new configuration.
    * @param original the original context
    * @param conf the new configuration
    * @return a new context object
@@ -176,7 +178,8 @@ public class ContextFactory {
   }
   
   /**
-   * Copy a mapper context, optionally replacing the input and output.
+   * Copy a custom {@link WrappedMapper.Context}, optionally replacing 
+   * the input and output.
    * @param <K1> input key type
    * @param <V1> input value type
    * @param <K2> output key type

Added: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/TestContextFactory.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/TestContextFactory.java?rev=1188842&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/TestContextFactory.java
(added)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/TestContextFactory.java
Tue Oct 25 18:14:12 2011
@@ -0,0 +1,46 @@
+package org.apache.hadoop.mapreduce;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.mapreduce.lib.map.WrappedMapper;
+import org.apache.hadoop.mapreduce.task.JobContextImpl;
+import org.apache.hadoop.mapreduce.task.MapContextImpl;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestContextFactory {
+
+  JobID jobId;
+  Configuration conf;
+  JobContext jobContext;
+  
+  @Before
+  public void setUp() throws Exception {
+    conf = new Configuration();
+    jobId = new JobID("test", 1);
+    jobContext = new JobContextImpl(conf, jobId);
+  }
+  
+  @Test
+  public void testCloneContext() throws Exception {
+    ContextFactory.cloneContext(jobContext, conf);
+  }
+
+  @Test
+  public void testCloneMapContext() throws Exception {
+    TaskID taskId = new TaskID(jobId, TaskType.MAP, 0);
+    TaskAttemptID taskAttemptid = new TaskAttemptID(taskId, 0);
+    MapContext<IntWritable, IntWritable, IntWritable, IntWritable> mapContext =
+    new MapContextImpl<IntWritable, IntWritable, IntWritable, IntWritable>(
+        conf, taskAttemptid, null, null, null, null, null);
+    Mapper<IntWritable, IntWritable, IntWritable, IntWritable>.Context mapperContext
= 
+      new WrappedMapper<IntWritable, IntWritable, IntWritable, IntWritable>().getMapContext(
+          mapContext);
+    ContextFactory.cloneMapContext(mapperContext, conf, null, null);
+  }
+
+  @Before
+  public void tearDown() throws Exception {
+    
+  }
+}



Mime
View raw message