MAPREDUCE-1686. Fixes StreamUtil.goodClassOrNull to find classes without package names. Contributed by Paul Burkhardt
git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@980704 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 45ee799..d8c8cf3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -205,6 +205,9 @@
MAPREDUCE-1701. Fixes a problem to do with exception handling in
delegation-token renewals. (Boris Shkolnik via ddas)
+ MAPREDUCE-1686. Fixes StreamUtil.goodClassOrNull to find classes without
+ package names. (Paul Burkhardt via amareshwari)
+
Release 0.21.0 - Unreleased
INCOMPATIBLE CHANGES
diff --git a/src/contrib/streaming/src/java/org/apache/hadoop/streaming/StreamUtil.java b/src/contrib/streaming/src/java/org/apache/hadoop/streaming/StreamUtil.java
index 3930db7..88ef99b 100644
--- a/src/contrib/streaming/src/java/org/apache/hadoop/streaming/StreamUtil.java
+++ b/src/contrib/streaming/src/java/org/apache/hadoop/streaming/StreamUtil.java
@@ -55,14 +55,20 @@
* (repeat for -reducer, -combiner) </pre>
*/
public static Class goodClassOrNull(Configuration conf, String className, String defaultPackage) {
- if (className.indexOf('.') == -1 && defaultPackage != null) {
- className = defaultPackage + "." + className;
- }
Class clazz = null;
try {
clazz = conf.getClassByName(className);
} catch (ClassNotFoundException cnf) {
}
+ if (clazz == null) {
+ if (className.indexOf('.') == -1 && defaultPackage != null) {
+ className = defaultPackage + "." + className;
+ try {
+ clazz = conf.getClassByName(className);
+ } catch (ClassNotFoundException cnf) {
+ }
+ }
+ }
return clazz;
}