[ 
https://issues.apache.org/jira/browse/FLINK-18211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17142724#comment-17142724
 ] 

Echo Lee commented on FLINK-18211:
----------------------------------

[~fly_in_gis]

I just verified it in standalone mode, It seems that it will not be added to 
the classpath of the task, my verification method is as follows:

 

I have standalone cluster of two nodes A and B, start jobmanager on node A, and 
start one taskmanager on node B, I execute the submit command on node A. By the 
way, pipeline.jars is flink-test-1.0-SNAPSHOT.jar, and user jar is 
flink-sql-connector-kafka_2.11-1.10.0-ad.jar and flink-json-1.10.0-ad.jar:

 

./bin/flink run -e remote -Drest.address=xxx -Drest.port=xxx -c 
xxx.CachedFileDemo -C 
file:///plugins/connector/flink-sql-connector-kafka_2.11-1.10.0-ad.jar -C 
file:///plugins/format/flink-json-1.10.0-ad.jar 
-Dpipeline.cached-files='name:file1,path:/plugins/connector/flink-sql-connector-kafka_2.11-1.10.0-ad.jar;name:file2,path:/plugins/format/flink-json-1.10.0-ad.jar'
 -Dyarn.application.queue=default flink-test-1.0-SNAPSHOT.jar

 

But it will throw a ClassNotFoundException,the stackTrace is:

 

Caused by: org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot 
load user class: 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerCaused by: 
org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load user 
class: 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerClassLoader info: 
URL ClassLoader:    file: 
'/tmp/blobStore-1d7f58ac-a2b4-4f3e-af70-5756de80651a/job_6ff0adec00cf56bed0e0a09a0888e66c/blob_p-1ad93d5770083ed166b02307da9cf50a0d334ea2-4feaba42fb9751da2f70af73f1f2de23'
 (valid JAR)    file: 
'/plugins/connector/flink-sql-connector-kafka_2.11-1.10.0-ad.jar' (missing)    
file: '/plugins/format/flink-json-1.10.0-ad.jar' (missing)Class not resolvable 
through given classloader. at 
org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:266)
 at 
org.apache.flink.streaming.runtime.tasks.OperatorChain.<init>(OperatorChain.java:115)
 at 
org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:433)
 at 
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:461) 
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707) at 
org.apache.flink.runtime.taskmanager.Task.run(Task.java:532) at 
java.base/java.lang.Thread.run(Thread.java:834)Caused by: 
java.lang.ClassNotFoundException: 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer at 
java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at 
java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at 
org.apache.flink.util.ChildFirstClassLoader.loadClass(ChildFirstClassLoader.java:60)
 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at 
java.base/java.lang.Class.forName0(Native Method) at 
java.base/java.lang.Class.forName(Class.java:398) at 
org.apache.flink.util.InstantiationUtil$ClassLoaderObjectInputStream.resolveClass(InstantiationUtil.java:78)
 at 
java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1886)
 at 
java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1772) 
at 
java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2060)
 at 
java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1594) at 
java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2355)
 at 
java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2249) 
at 
java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2087)
 at 
java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1594) at 
java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2355)
 at 
java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2249) 
at 
java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2087)
 at 
java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1594) at 
java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:430) at 
org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:576)
 at 
org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:562)
 at 
org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:550)
 at 
org.apache.flink.util.InstantiationUtil.readObjectFromConfig(InstantiationUtil.java:511)
 at 
org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:254)

 

 

> Dynamic properties setting 'pipeline.jars' will be overwritten
> --------------------------------------------------------------
>
>                 Key: FLINK-18211
>                 URL: https://issues.apache.org/jira/browse/FLINK-18211
>             Project: Flink
>          Issue Type: Bug
>          Components: Client / Job Submission
>    Affects Versions: 1.10.0, 1.11.0
>            Reporter: Echo Lee
>            Assignee: Echo Lee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.12.0
>
>
> When we submit the application through "flink run 
> -Dpipeline.jars='/user1.jar, user2.jar'..." command,  configuration will 
> include 'pipeline.jars', But ExecutionConfigAccessor#fromProgramOptions will 
> be reset this property, So the property set by the user is invalid.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to