[ https://issues.apache.org/jira/browse/MAPREDUCE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893981#action_12893981 ]
Hadoop QA commented on MAPREDUCE-1686: -------------------------------------- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450844/HADOOP-1686-2.patch against trunk revision 980316. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 7 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/600/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/600/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/600/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/600/console This message is automatically generated. > ClassNotFoundException for custom format classes provided in libjars > -------------------------------------------------------------------- > > Key: MAPREDUCE-1686 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-1686 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: contrib/streaming > Affects Versions: 0.20.1 > Reporter: Paul Burkhardt > Priority: Minor > Attachments: HADOOP-1686-1.patch, HADOOP-1686-2.patch, > HADOOP-1686.patch > > > The StreamUtil::goodClassOrNull method assumes user-provided classes have > package names and if not, they are part of the Hadoop Streaming package. For > example, using custom InputFormat or OutputFormat classes without package > names will fail with a ClassNotFound exception which is not indicative given > the classes are provided in the libjars option. Admittedly, most Java > packages should have a package name so this should rarely come up. > Possible resolution options: > 1) modify the error message to include the actual classname that was > attempted in the goodClassOrNull method > 2) call the Configuration::getClassByName method first and if class not found > check for default package name and try the call again > {code} > public static Class goodClassOrNull(Configuration conf, String className, > String defaultPackage) { > 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; > } > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.