You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by mx...@apache.org on 2016/09/24 12:20:18 UTC

flink git commit: [FLINK-4485] close classloader in absence of reference holders

Repository: flink
Updated Branches:
  refs/heads/master cd43dd59e -> 4a8e94403


[FLINK-4485] close classloader in absence of reference holders


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

Branch: refs/heads/master
Commit: 4a8e94403fb48318561a3cf2da57ba9da280949e
Parents: cd43dd5
Author: Maximilian Michels <mx...@apache.org>
Authored: Fri Sep 23 14:14:09 2016 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Sat Sep 24 14:19:09 2016 +0200

----------------------------------------------------------------------
 .../runtime/execution/librarycache/BlobLibraryCacheManager.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/4a8e9440/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java b/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
index 21c6b4d..c94768d 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
@@ -157,10 +157,12 @@ public final class BlobLibraryCacheManager extends TimerTask implements LibraryC
 		Preconditions.checkNotNull(task, "The task execution id must not be null.");
 
 		synchronized (lockObject) {
-			LibraryCacheEntry entry = cacheEntries.remove(jobId);
+			LibraryCacheEntry entry = cacheEntries.get(jobId);
 
 			if (entry != null) {
 				if (entry.unregister(task)) {
+					cacheEntries.remove(jobId);
+
 					entry.releaseClassLoader();
 
 					for (BlobKey key : entry.getLibraries()) {