diff --git hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java index e6c00c9..24897e8 100644 --- hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java +++ hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java @@ -254,6 +254,25 @@ public static void cleanup(Log log, java.io.Closeable... closeables) { } /** + * Close the Closeable objects and ignore any {@link IOException} or + * null pointers. Must only be used for cleanup in exception handlers. + * + * @param log the log to record problems to at info level. Can be null. + * @param stream the objects to close + */ + public static void closeStream(Log log, java.io.Closeable... stream) { + for (java.io.Closeable c : stream) { + if (c != null) { + try { + c.close(); + } catch(IOException e) { + log.info("Exception in closing " + c, e); + } + } + } + } + + /** * Closes the stream ignoring {@link IOException}. * Must only be called in cleaning up from exception handlers. * diff --git 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 index c9453b3..359045d 100644 --- 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 @@ -457,7 +457,7 @@ public void close() { } catch (IOException e) { LOG.warn("Exception closing writer", e); } - IOUtils.closeStream(fsDataOStream); + IOUtils.closeStream(LOG, fsDataOStream); } }