[
https://issues.apache.org/jira/browse/OAK-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15033090#comment-15033090
]
Chetan Mehrotra edited comment on OAK-3692 at 12/1/15 5:35 AM:
---------------------------------------------------------------
No clear answer here. As some of the packages are split between various lucene
jars this problem is coming now. And as we embed the Lucene classes and export
them (for SPI implementations) we need to manage the version. In addition we
have baseline plugin watching us so need to keep that happy ;). Bumping the
version to 4.8.0 would not be logically correct as that somewhat implies we are
embedding Lucene 4.8 (which we are at 4.7.1). So if possible we need to avoid
that
Looking at baseline docs there is support for
[filters|http://svn.apache.org/repos/asf/felix/releases/maven-bundle-plugin-3.0.0/doc/site/baseline-mojo.html#filters].
Possibly we can use that and have baseline plugin exclude scanning
{{org.apache.lucene}} package. So giving that a try (see [attached
patch|^OAK-3692.patch])
{code:xml}
<executions>
<execution>
<id>baseline</id>
<configuration>
<filters>
<filter>org.apache.jackrabbit.oak.plugins.index.lucene.*</filter>
</filters>
</configuration>
</execution>
</executions>
{code}
Above config would force Maven bundle plugin to only consider the packages in
oak-lucene. So any change in that would still be detected but in other cases
like in Lucene no check would be performed. Can you give this a try?
Also just to note - Baseline check is disabled on branches. So you can still
embed the dependency there untill we figure out correct solution here
was (Author: chetanm):
No clear answer here. As some of the packages are split between various lucene
jars this problem is coming now. And as we embed the Lucene classes and export
them (for SPI implementations) we need to manage the version. In addition we
have baseline plugin watching us so need to keep that happy ;). Bumping the
version to 4.8.0 would not be logically correct as that somewhat implies we are
embedding Lucene 4.8 (which we are at 4.7.1). So if possible we need to avoid
that
Looking at baseline docs there is support for
[filters|http://svn.apache.org/repos/asf/felix/releases/maven-bundle-plugin-3.0.0/doc/site/baseline-mojo.html#filters].
Possibly we can use that and have baseline plugin exclude scanning
{{org.apache.lucene}} package. So give that a try.
Also just to note - Baseline check is disabled on branches. So you can still
embed the dependency there untill we figure out correct solution here
> java.lang.NoClassDefFoundError:
> org/apache/lucene/index/sorter/Sorter$DocComparator
> -----------------------------------------------------------------------------------
>
> Key: OAK-3692
> URL: https://issues.apache.org/jira/browse/OAK-3692
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: lucene
> Reporter: Vikas Saurabh
> Assignee: Vikas Saurabh
> Priority: Blocker
> Fix For: 1.3.12
>
> Attachments: OAK-3692.patch
>
>
> I'm getting following exception while trying to include oak trunk build into
> AEM:
> {noformat}
> 27.11.2015 20:41:25.946 *ERROR* [oak-lucene-2]
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider Uncaught
> exception in
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider@36ba558b
> java.lang.NoClassDefFoundError:
> org/apache/lucene/index/sorter/Sorter$DocComparator
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.util.SuggestHelper.getLookup(SuggestHelper.java:108)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexNode.<init>(IndexNode.java:106)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexNode.open(IndexNode.java:69)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker$1.leave(IndexTracker.java:98)
> at
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:153)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:444)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:487)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compareBranch(MapRecord.java:565)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:470)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:436)
> at
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
> at
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:403)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:444)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:487)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:436)
> at
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:394)
> at
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
> at
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.update(IndexTracker.java:108)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider.contentChanged(LuceneIndexProvider.java:73)
> at
> org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:131)
> at
> org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:125)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.lucene.index.sorter.Sorter$DocComparator not found by
> org.apache.jackrabbit.oak-lucene [95]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1573)
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 27 common frames omitted
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)