You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Radim Kolar (Created) (JIRA)" <ji...@apache.org> on 2012/01/31 13:48:10 UTC

[jira] [Created] (MAPREDUCE-3772) MultipleOutputs output lost if baseOutputPath starts with ../

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