[ https://issues.apache.org/jira/browse/FLINK-27104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17518633#comment-17518633 ]
Sitan Pang commented on FLINK-27104: ------------------------------------ Maybe we could add a new option 'pipeline.external-resorces' to set external jars for job. For session job, 'pipeline.external-resorces' will be added into 'pipeline.jars', so it will be uploaded by clusterClient and loaded by userClassLoader. > ClassNotFound when submit jobs to session cluster with external jars > -------------------------------------------------------------------- > > Key: FLINK-27104 > URL: https://issues.apache.org/jira/browse/FLINK-27104 > Project: Flink > Issue Type: Improvement > Components: Client / Job Submission > Affects Versions: 1.11.0 > Reporter: Sitan Pang > Priority: Minor > > I'm trying to submit SQL jobs to session cluster on k8s, which need external > local udfs jars. > I meet ClassNotFound Exception because of the reasons below: > * 'pipeline.jars' will be overwritten by '-j' option which only accepts one > jar. > * 'pipeline.classpaths' will not be uploaded, so local files could not be > found in TM. > * 'pipelines.cached-files' will not be added to classpaths. In > Task#createUserCodeClassloader and ClientUtils#buildUserCodeClassLoader, only > 'pipeline.jars' and 'pipeline.classpaths' are added to user class loader. > Only combining external jars into one could solve this, which means we need > to re-create a new jar every time. > Is there a better way to submit with external jars? > Or could we make 'pipeline.jars' directly used by users? > -- This message was sent by Atlassian Jira (v8.20.1#820001)