You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2014/02/07 02:26:58 UTC

svn commit: r1565511 - /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java

Author: larsh
Date: Fri Feb  7 01:26:57 2014
New Revision: 1565511

URL: http://svn.apache.org/r1565511
Log:
HBASE-10363 [0.94] TestInputSampler and TestInputSamplerTool fail under hadoop 2.0/23 profiles.

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java?rev=1565511&r1=1565510&r2=1565511&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/mapreduce/hadoopbackport/InputSampler.java Fri Feb  7 01:26:57 2014
@@ -165,14 +165,21 @@ public class InputSampler<K,V> extends C
    */
   public static TaskAttemptContext getTaskAttemptContext(final Job job)
   throws IOException {
-    Constructor<TaskAttemptContext> c;
+    Constructor<?> c;
     try {
-      c = TaskAttemptContext.class.getConstructor(Configuration.class, TaskAttemptID.class);
+      if (TaskAttemptContext.class.isInterface()) {
+        // Hadoop 2.x
+        Class<?> clazz = Class.forName("org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl");
+        c = clazz.getConstructor(Configuration.class, TaskAttemptID.class);
+      } else {
+        // Hadoop 1.x
+        c = TaskAttemptContext.class.getConstructor(Configuration.class, TaskAttemptID.class);
+      }
     } catch (Exception e) {
       throw new IOException("Failed getting constructor", e);
     }
     try {
-      return c.newInstance(job.getConfiguration(), new TaskAttemptID());
+      return (TaskAttemptContext)c.newInstance(job.getConfiguration(), new TaskAttemptID());
     } catch (Exception e) {
       throw new IOException("Failed creating instance", e);
     }