You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Jason Lowe (JIRA)" <ji...@apache.org> on 2017/12/01 15:31:00 UTC
[jira] [Commented] (HADOOP-15085) Output streams closed with
IOUtils suppressing write errors
[ https://issues.apache.org/jira/browse/HADOOP-15085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274514#comment-16274514 ]
Jason Lowe commented on HADOOP-15085:
-------------------------------------
Some places in hadoop-common code that have this pattern:
* FileUtil#createJarWithClassPath
* MapFile#main
* NativeIO#copyFileUnbuffered
* TestCodec#writeSplitTestFile
> Output streams closed with IOUtils suppressing write errors
> -----------------------------------------------------------
>
> Key: HADOOP-15085
> URL: https://issues.apache.org/jira/browse/HADOOP-15085
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Jason Lowe
>
> There are a few places in hadoop-common that are closing an output stream with IOUtils.cleanupWithLogger like this:
> {code}
> try {
> ...write to outStream...
> } finally {
> IOUtils.cleanupWithLogger(LOG, outStream);
> }
> {code}
> This suppresses any IOException that occurs during the close() method which could lead to partial/corrupted output without throwing a corresponding exception. The code should either use try-with-resources or explicitly close the stream within the try block so the exception thrown during close() is properly propagated as exceptions during write operations are.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org