[FLINK-3236] [runtime] Flink user code classloader as parent classloader from 
Flink core classes

Originally, the user code classloader delegates to the system classloader as 
parent.
That works in Flink standalone settings, but not when the Flink core classes 
themselves
 are not loaded with the system classloader (certain embedded setups).

This patch uses as parent the classloader that was used to load the Flink core 
classes, specificly
"org.apache.flink.runtime.execution.librarycache.BlobLibraryCacheManager.FlinkUserCodeClassLoader.class.getClassLoader()".

This closes #1506
This closes #1507
This closes #1508


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

Branch: refs/heads/master
Commit: 0ae46b596949808f56c40bd7a68f478bc10206ab
Parents: 388c280
Author: Prez Cannady <revp...@opencorrelate.org>
Authored: Thu Jan 14 10:15:12 2016 -0500
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri Jan 15 11:44:20 2016 +0100

----------------------------------------------------------------------
 .../runtime/execution/librarycache/BlobLibraryCacheManager.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/0ae46b59/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 97ec93a..98caac4 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
@@ -326,7 +326,7 @@ public final class BlobLibraryCacheManager extends 
TimerTask implements LibraryC
        private static class FlinkUserCodeClassLoader extends URLClassLoader {
 
                public FlinkUserCodeClassLoader(URL[] urls) {
-                       super(urls);
+                       super(urls, 
FlinkUserCodeClassLoader.class.getClassLoader());
                }
        }
 }

Reply via email to