Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java (revision 1518111) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java (working copy) @@ -571,6 +571,7 @@ public void close() throws IOException { this.scanner.close(); + this.reader.close(); this.fsDataIStream.close(); } } Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/log/AggregatedLogsBlock.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/log/AggregatedLogsBlock.java (revision 1518111) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/log/AggregatedLogsBlock.java (working copy) @@ -116,6 +116,7 @@ } catch (IOException e) { html.h1()._("Error getting logs for " + logEntity)._(); LOG.error("Error getting logs for " + logEntity, e); + closeReader(reader); return; } ApplicationACLsManager aclsManager = new ApplicationACLsManager(conf); @@ -132,6 +133,7 @@ html.h1() ._("User [" + remoteUser + "] is not authorized to view the logs for " + logEntity)._(); + closeReader(reader); return; } @@ -161,6 +163,7 @@ } catch (IOException e) { html.h1()._("Error getting logs for " + logEntity)._(); LOG.error("Error getting logs for " + logEntity, e); + closeReader(reader); return; } } @@ -317,4 +320,14 @@ limits.end = end; return limits; } + + private void closeReader(AggregatedLogFormat.LogReader reader) { + if (null != reader) { + try { + reader.close(); + } catch (IOException e) { + LOG.warn("Exception while closing reader.", e); + } + } + } } \ No newline at end of file