guoweiM commented on a change in pull request #10076: [FLINK-14465][runtime] Let `StandaloneJobClusterEntrypoint` use user code class loader URL: https://github.com/apache/flink/pull/10076#discussion_r342914775
########## File path: flink-container/src/main/java/org/apache/flink/container/entrypoint/ClassPathJobGraphRetriever.java ########## @@ -133,9 +138,18 @@ private String getJobClassNameOrScanClassPath() throws FlinkException { } private String scanClassPathForJobJar() throws IOException { - LOG.info("Scanning class path for job JAR"); - JarFileWithEntryClass jobJar = JarManifestParser.findOnlyEntryClass(jarsOnClassPath.get()); - + final JarFileWithEntryClass jobJar; + if (getUserClassPaths().isEmpty()) { + LOG.info("Scanning system class path for job JAR"); + jobJar = JarManifestParser.findOnlyEntryClass(jarsOnClassPath.get()); + } else { + LOG.info("Scanning user class path for job JAR"); + final List<File> userJars = getUserClassPaths() + .stream() + .map(url -> new File(url.getFile())) + .collect(Collectors.toList()); + jobJar = JarManifestParser.findOnlyEntryClass(userJars); + } Review comment: > Alternatively, I would remove support for looking for job jars in the system classpath and rename the retriever to something like UsrLibJobGraphRetriever. It's an option. There might be some of the situation that the user himself builds the image. So I think we might introduce two classes `UsrLibJobGraphRetriever` and `SysLibJobGraphRetriever`. One is to retrieve the `jobgraph` from `usrlib`. The other is to retrieve the `jobgraph` from `lib`. We could introduce a ClassPathJobGraphRetrieverFactory to create the JobGraphRetriever according to whether the `usrlib` exsits or not. What do you think? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services