浏览代码

YARN-3760. FSDataOutputStream leak in AggregatedLogFormat.LogWriter.close(). Contributed by Haibo Chen.

(cherry picked from commit c26ccf1adb3a72df3f68e1150b86b813c691203a)
(cherry picked from commit 9d9087a67ad599e678948d5c1036e51cb8cf5e3a)
Junping Du 8 年之前
父节点
当前提交
d77cada182

+ 6 - 5
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java

@@ -540,14 +540,15 @@ public class AggregatedLogFormat {
 
     @Override
     public void close() {
-      if (writer != null) {
-        try {
+      try {
+        if (writer != null) {
           writer.close();
-        } catch (IOException e) {
-          LOG.warn("Exception closing writer", e);
         }
+      } catch (Exception e) {
+        LOG.warn("Exception closing writer", e);
+      } finally {
+        IOUtils.closeStream(this.fsDataOStream);
       }
-      IOUtils.closeStream(fsDataOStream);
     }
   }