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);
