Path separator in DistributedCache does not work between windows and unix
-------------------------------------------------------------------------
Key: HADOOP-4002
URL: https://issues.apache.org/jira/browse/HADOOP-4002
Project: Hadoop Core
Issue Type: Bug
Components: mapred
Affects Versions: 0.17.2
Environment: Client in Windows XP with hadoop-0.18.0 and server
running on Linux x64 with java "1.6.0_10-beta"
Reporter: Juho Mäkinen
DistributedCache.addfileToClassPath adds the files to
mapred.job.classpath.files which can be seen in the jobs xml description. When
the job is created and submitted from a windows machine the path separator is
";". This can be seen in the configuration: mapred.job.classpath.files
/user/garo/lib/javolution.jar;/user/garo/lib/java-utils.jar
When the job is submitted over network to a Hadoop cluster running on Linux the
path separator is ":". This affects the DistributedCache.getFileClassPath
method which separates the mapred.job.classpath.files configuration using the
system path separator, which is ":". This renders all classpath additions
invalid using DistributedCache.addFileToClassPath.
Temporary sollution: I've simply added ";" to the StringTokenizer in
DistributedCache.getFileClassPath, but I'm not certain if it's a good sollution.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.