org.apache.hadoop.fs.FileUtil.copy() will leak input streams if the destination 
can't be opened
-----------------------------------------------------------------------------------------------

                 Key: HADOOP-3592
                 URL: https://issues.apache.org/jira/browse/HADOOP-3592
             Project: Hadoop Core
          Issue Type: Bug
          Components: fs
    Affects Versions: 0.18.0
            Reporter: Steve Loughran
            Priority: Minor


FileUtil.copy()  relies on IOUtils.copyBytes() to close the incoming streams, 
which it does. Normally.

But if dstFS.create() raises any kind of IOException, then the inputstream 
"in", which was created in the line above, will never get closed, and hence be 
leaked.

      InputStream in = srcFS.open(src);
      OutputStream out = dstFS.create(dst, overwrite);
      IOUtils.copyBytes(in, out, conf, true);

Some try/catch wrapper around the open operations could close the streams if 
any exception gets thrown at that point in the copy process.

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