MultipleOutputs output lost if baseOutputPath starts with ../
-------------------------------------------------------------
Key: MAPREDUCE-3772
URL: https://issues.apache.org/jira/browse/MAPREDUCE-3772
Project: Hadoop Map/Reduce
Issue Type: Bug
Components: mrv1
Affects Versions: 0.22.0
Environment: FreeBSD
Reporter: Radim Kolar
Priority: Minor
Lets say you have output directory set:
FileOutputFormat.setOutputPath(job, "/tmp/multi1/out");
and want to place output from MultipleOutputs into /tmp/multi1/extra
I expect following code to work:
mos = new MultipleOutputs<Text, IntWritable>(context);
mos.write(new Text("zrr"), value, "../extra/");
but no Exception is throw and expected output directory /tmp/multi1/extra does
not even exists. All data written to this output vanish without trace.
To make it work fullpath must be used
mos.write(new Text("zrr"), value, "/tmp/multi1/extra/");
Output is listed in statistics from MultipleOutputs correctly:
org.apache.hadoop.mapreduce.lib.output.MultipleOutputs
../gaja1/=13333 (* everything is lost *)
/tmp/multi1/out/../ksd34/=13333 (* this using full path works *)
list1=6667
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira