[
https://issues.apache.org/jira/browse/NUTCH-2378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16128751#comment-16128751
]
Hudson commented on NUTCH-2378:
-------------------------------
SUCCESS: Integrated in Jenkins build Nutch-trunk #3450 (See
[https://builds.apache.org/job/Nutch-trunk/3450/])
NUTCH-2378 ChildFirst plugin classloader (contributed by Jurian (snagel:
[https://github.com/apache/nutch/commit/e66d44d9c290c550e78edb425a43e010b861172c])
* (edit) src/plugin/indexer-solr/plugin.xml
* (edit) src/plugin/parsefilter-naivebayes/plugin.xml
* (edit) src/plugin/parse-tika/plugin.xml
* (edit) src/java/org/apache/nutch/plugin/PluginClassLoader.java
* (edit) src/plugin/parse-tika/ivy.xml
> ChildFirst plugin classloader
> -----------------------------
>
> Key: NUTCH-2378
> URL: https://issues.apache.org/jira/browse/NUTCH-2378
> Project: Nutch
> Issue Type: Improvement
> Components: plugin
> Affects Versions: 1.13
> Reporter: Jurian Broertjes
> Assignee: Sebastian Nagel
> Fix For: 2.4, 1.14
>
> Attachments: NUTCH-2378-childfirst-plugin-classloader.patch
>
>
> While working on upgrading the indexer-elastic plugin from 2.x to 5.x, I ran
> into several nasty runtime dependency issues (both local and on Hadoop).
> After seeking help on the mailing list, I still was unable to resolve these
> issues and after digging further, decided to try a different plugin
> classloader strategy.
> The normal classloader delegates class loading requests to it's parent
> classloader. This can cause all sorts of nasty runtime dependency version
> conflicts (jar hell, version conflicts), since the plugin's own classloader
> gets queried last. The child-first classloader approach tries to load a class
> from the plugin's dependencies first and when unavailable, delegates to it's
> parent classloader. This fixed the issues I had.
> The new approach can give runtime LinkageErrors, but these are easily
> resolvable (see the patch for a few examples)
> I've tested the new loader a bit and am curious about others' findings.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)