[
https://issues.apache.org/jira/browse/FLINK-6767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16240007#comment-16240007
]
AJ commented on FLINK-6767:
---------------------------
I found the root cause,
I feel error message is bit misleading. The issue was coming due to scala
dependencies.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_2.10</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.10</artifactId>
<version>1.2.1</version>
</dependency>
Apart from that, some other dependencies are also added in pom.xml and lib
folder of flink
Other Dependencies :
*
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.0.6</version>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>commons-compiler</artifactId>
<version>3.0.6</version>
</dependency>*
After adding above libraries in my pom.xml and jar for janino library in lib
folder (As there was some mismatch of version).
The program is executed successfully.
> Cannot load user class on local environment
> -------------------------------------------
>
> Key: FLINK-6767
> URL: https://issues.apache.org/jira/browse/FLINK-6767
> Project: Flink
> Issue Type: Bug
> Components: Local Runtime
> Affects Versions: 1.2.1
> Environment: Flink 1.2.1 running on local environment on a Ignite 2.0
> node.
> Reporter: Matt
> Priority: Critical
> Labels: CollocatedComputation, Flink, Ignite, LocalEvironment
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> There is a bug in Flink 1.2.1 that results in a "cannot load user class"
> exception even when the class is available in the current class loader of the
> thread running the job. The problem arises when you execute a Flink job on a
> local environment inside an Ignite 2.0 node. This happens on possibly all
> other versions of Flink and Ignite.
> This bug was discussed in [1], and a fix was proposed in [2].
> In summary, the fix requires replacing line 298 in
> *BlobLibraryCacheManager.java* [3] for:
> {code:java}
> this.classLoader = new FlinkUserCodeClassLoader(libraryURLs,
> Thread.currentThread().getContextClassLoader());
> {code}
> A repository with a complete test case reproducing the error is found in [4].
> The idea behind the code is being able to run Flink jobs in a collocated way
> (ie, on the node where the data is stored), minimizing network traffic and
> thus improving the performance.
> The README file contains details on how to run it and the resulting exception:
> {code}
> org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load
> user class: com.test.Source
> ClassLoader info: URL ClassLoader:
> Class not resolvable through given classloader.
> {code}
> [1]
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/BUG-Cannot-Load-User-Class-on-Local-Environment-td12799.html
> [2]
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/BUG-Cannot-Load-User-Class-on-Local-Environment-tp12799p13376.html
> [3]
> https://github.com/apache/flink/blob/release-1.2/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java#L298
> [4] https://github.com/Dromit/FlinkTest
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)