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);
}