[
https://issues.apache.org/jira/browse/HADOOP-9681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697101#comment-13697101
]
Chris Nauroth commented on HADOOP-9681:
---------------------------------------
Good catch. Thanks, Chuan!
Can you please close these streams in a finally block to guarantee that they
get closed even if there are exceptions? Also, using {{IOUtils#cleanup}} would
shorten the code a bit.
This method also exists in branch-1-win with the same bug. Can you post a
branch-1-win patch too?
> FileUtil.unTarUsingJava() should close the InputStream upon finishing
> ---------------------------------------------------------------------
>
> Key: HADOOP-9681
> URL: https://issues.apache.org/jira/browse/HADOOP-9681
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 3.0.0, 2.1.0-beta
> Reporter: Chuan Liu
> Assignee: Chuan Liu
> Priority: Minor
> Attachments: HADOOP-9681-trunk.patch
>
>
> In {{FileUtil.unTarUsingJava()}} method, we did not close input steams
> explicitly upon finish. This could lead to a file handle leak on Windows.
> I discovered this when investigating the unit test case failure of
> {{TestFSDownload.testDownloadArchive()}}. FSDownload class will use
> {{FileUtil.unTarUsingJava()}} to unpack some temporary archive file. Later,
> the temporary file should be deleted. Because of the file handle leak, the
> {{File.delete()}} method fails. The test case then fails because it assert
> the temporary file should not exist.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira