Repository: flink
Updated Branches:
  refs/heads/master 477d1c5d4 -> 92f4539af


[FLINK-4573] [web dashboard] Fix potential resource leak due to unclosed 
RandomAccessFile in TaskManagerLogHandler

This closes #2556


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/2afc0924
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/2afc0924
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/2afc0924

Branch: refs/heads/master
Commit: 2afc092461cf68cf0f3c26a3ab4c58a7bd68cf71
Parents: 477d1c5
Author: Liwei Lin <[email protected]>
Authored: Tue Sep 27 20:49:52 2016 +0800
Committer: Stephan Ewen <[email protected]>
Committed: Fri Sep 30 11:32:39 2016 +0200

----------------------------------------------------------------------
 .../webmonitor/handlers/TaskManagerLogHandler.java        | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/2afc0924/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagerLogHandler.java
----------------------------------------------------------------------
diff --git 
a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagerLogHandler.java
 
b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagerLogHandler.java
index 5343049..2f0d438 100644
--- 
a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagerLogHandler.java
+++ 
b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagerLogHandler.java
@@ -210,7 +210,15 @@ public class TaskManagerLogHandler extends 
RuntimeMonitorHandlerBase {
                                                        LOG.error("Displaying 
TaskManager log failed.", e);
                                                        return;
                                                }
-                                               long fileLength = raf.length();
+                                               long fileLength;
+                                               try {
+                                                       fileLength = 
raf.length();
+                                               } catch (IOException ioe) {
+                                                       display(ctx, request, 
"Displaying TaskManager log failed.");
+                                                       LOG.error("Displaying 
TaskManager log failed.", ioe);
+                                                       raf.close();
+                                                       throw ioe;
+                                               }
                                                final FileChannel fc = 
raf.getChannel();
 
                                                HttpResponse response = new 
DefaultHttpResponse(HTTP_1_1, OK);

Reply via email to