[
https://issues.apache.org/jira/browse/FLINK-6767?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Flink Jira Bot updated FLINK-6767:
----------------------------------
Labels: CollocatedComputation Flink Ignite LocalEvironment
auto-deprioritized-critical stale-major (was: CollocatedComputation Flink
Ignite LocalEvironment auto-deprioritized-critical)
I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help
the community manage its development. I see this issues has been marked as
Major but is unassigned and neither itself nor its Sub-Tasks have been updated
for 30 days. I have gone ahead and added a "stale-major" to the issue". If this
ticket is a Major, please either assign yourself or give an update. Afterwards,
please remove the label or in 7 days the issue will be deprioritized.
> 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: Runtime / Task
> Affects Versions: 1.2.1
> Environment: Flink 1.2.1 running on local environment on a Ignite 2.0
> node.
> Reporter: Matt
> Priority: Major
> Labels: CollocatedComputation, Flink, Ignite, LocalEvironment,
> auto-deprioritized-critical, stale-major
> 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
(v8.3.4#803005)