config property mapred.child.java.opts has maximum length that generates 
NoClassDefFoundError if exceeded
---------------------------------------------------------------------------------------------------------

                 Key: HADOOP-4953
                 URL: https://issues.apache.org/jira/browse/HADOOP-4953
             Project: Hadoop Core
          Issue Type: Bug
          Components: conf
    Affects Versions: 0.19.0
            Reporter: Paul Baclace


There is an unexpected max length for the value of config property 
mapred.child.java.opts that, if exceeded, generates an opaque 
NoClassDefFoundError in child tasks.  

The max length for the value is 146 chars.  A length of 147 chars will cause 
the exception.  For example, adding a single extra space between options will 
convert a working jvm opts clause into one that always generates 
NoClassDefFoundError when tasktrackers exec child tasks.

As laboriously diagnosed, conf/hadoop-site.xml  was used to set the property 
and runs were done on "Amazon EC2 Ubuntu 8.04 hardy AMI" (Debian version 
"lenny/sid") using java 1.6.0_07-b06.  Multiple slaves nodes were used and 
after conf changes, stop-all.sh and start-all.sh were run before each test.  
The job config props as found on the slave did not appear to have a truncated 
or damaged value.  It made no difference whether @taskid@ appeared at the end 
or middle of the options and absence of @taskid@ did not eliminate the problem.

This bug wastes considerable time because the error looks like a classpath 
problem and even after the java opts property is suspected, a character quoting 
or unsupported option seems more likely than a length limit.  



-- 
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