[ https://issues.apache.org/jira/browse/FLINK-22639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17344397#comment-17344397 ]
Yao Zhang commented on FLINK-22639: ----------------------------------- Could you pls assign this to me? > ClassLoaderUtil cannot print classpath of FlinkUserCodeClassLoader > ------------------------------------------------------------------ > > Key: FLINK-22639 > URL: https://issues.apache.org/jira/browse/FLINK-22639 > Project: Flink > Issue Type: Improvement > Components: Runtime / Configuration, Table SQL / Runtime > Affects Versions: 1.13.0 > Reporter: Adrian Zhong > Priority: Major > > Hello, community. > I found FlinkUserCodeClassLoader is wrapping by > SafetyNetWrapperClassLoader, but it cut getURL invoking chain. > > ClassLoaderUtil.getUserCodeClassLoaderInfo: > {code:java} > public static String getUserCodeClassLoaderInfo(ClassLoader loader) { > if (loader instanceof URLClassLoader) { > URLClassLoader cl = (URLClassLoader) loader; > try { > StringBuilder bld = new StringBuilder(); > if (cl == ClassLoader.getSystemClassLoader()) { > bld.append("System ClassLoader: "); > } else { > bld.append("URL ClassLoader:"); > } > for (URL url : cl.getURLs()) { > } > }{code} > {code:java} > SafetyNetWrapperClassLoader(FlinkUserCodeClassLoader inner, ClassLoader > parent) { > super(new URL[0], parent); > this.inner = inner; > } > {code} > The constructor passed an empty array to super class, > SafetyNetWrapperClassLoader.getURL {color:#505f79}*should dispatch this > invocation*{color}. > {code:java} > @Override > public URL[] getURLs() { > return inner.getURLs(); > } > {code} > Otherwise, > {code:java} > ClassLoaderUtil.getUserCodeClassLoaderInfo(theJarClassLoader); > {code} > will print empty, like below: > {code:java} > URL ClassLoader: > {code} > > -- This message was sent by Atlassian Jira (v8.3.4#803005)