[ https://issues.apache.org/jira/browse/MAPREDUCE-7494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17891247#comment-17891247 ]
ASF GitHub Bot commented on MAPREDUCE-7494: ------------------------------------------- zeekling commented on code in PR #7119: URL: https://github.com/apache/hadoop/pull/7119#discussion_r1807794593 ########## hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/LineRecordReader.java: ########## @@ -302,6 +302,8 @@ public synchronized void close() throws IOException { try { if (in != null) { in.close(); + } else if (fileIn != null) { + fileIn.close(); Review Comment: why not do this in finally ? > File stream leak when LineRecordReader is interrupted > ----------------------------------------------------- > > Key: MAPREDUCE-7494 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7494 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: client > Affects Versions: 3.4.0, 3.3.6, 3.4.1 > Reporter: Davin Tjong > Assignee: Davin Tjong > Priority: Minor > Labels: pull-request-available > Fix For: 3.5.0 > > > In LineRecordReader, we may open a filestream: > ``` > fileIn = FutureIO.awaitFuture(builder.build()); > ``` > However, we may be interrupted or otherwise throw an error before `in` is > initialized, for example here: > ``` > fileIn.seek(start); > ``` > If this happens, the caller has no way to close this file stream causing it > to leak. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org