[ 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)