MapReduce is Broken for User-Defined Classes
--------------------------------------------

                 Key: HADOOP-927
                 URL: https://issues.apache.org/jira/browse/HADOOP-927
             Project: Hadoop
          Issue Type: Bug
          Components: mapred
    Affects Versions: 0.11.0
            Reporter: Albert Chern
            Priority: Critical


Checked out trunk today and all of my jobs with a user-defined class as a map 
output value class fail with a ClassNotFoundException.  Here's the stack trace:

java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.ClassNotFoundException: test.StringWrapper
        at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:344)
        at 
org.apache.hadoop.mapred.JobConf.getMapOutputValueClass(JobConf.java:406)
        at org.apache.hadoop.mapred.ReduceTaskRunner.(ReduceTaskRunner.java:339)
        at org.apache.hadoop.mapred.ReduceTask.createRunner(ReduceTask.java:91)
        at 
org.apache.hadoop.mapred.TaskTracker$TaskInProgress.launchTask(TaskTracker.java:983)
        at 
org.apache.hadoop.mapred.TaskTracker.launchTaskForJob(TaskTracker.java:366)
        at 
org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:359)
        at 
org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:823)
        at 
org.apache.hadoop.mapred.TaskTracker.offerService(TaskTracker.java:510)
        at org.apache.hadoop.mapred.TaskTracker.run(TaskTracker.java:852)
        at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:1494)

I haven't looked deeply into it, but I would guess that the problem is in the 
constructor of ReduceTaskRunner where it attempts to create a 
SequenceFile.Sorter for the map output value class.  It's probably done in the 
main TaskTracker JVM process, so external libraries are not on its classpath.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to