You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (Jira)" <ji...@apache.org> on 2020/10/21 15:21:00 UTC

[jira] [Commented] (OAK-9261) Upgrade Apache Solr to 8.6.3

    [ https://issues.apache.org/jira/browse/OAK-9261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218343#comment-17218343 ] 

Thomas Mueller commented on OAK-9261:
-------------------------------------

With Solr 8.6.3, I get a Guava problem when running the JCR tests. Solr needs a newer version of Guava than what we currently have. But to me it looks like it's only Solr Server, and not the Solr client. I assume people are using Solr client only, within the same JVM, and run Solr server as a separate process. Solr 8.6.3 uses MoreObjects in the following cases:

{noformat}
./solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java:import com.google.common.base.MoreObjects;
./solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java:      String hlparser = MoreObjects.firstNonNull(params.get(HighlightParams.QPARSER),
./solr/core/src/java/org/apache/solr/cloud/api/collections/TimeRoutedAlias.java:import com.google.common.base.MoreObjects;
./solr/core/src/java/org/apache/solr/cloud/api/collections/TimeRoutedAlias.java:    return MoreObjects.toStringHelper(this)
./solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java:import org.carrot2.shaded.guava.common.base.MoreObjects;
./solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java:      log.info("Initializing Clustering Engine '{}'", MoreObjects.firstNonNull(componentName, "<no 'name' attribute>"));
{noformat}

So I think it's fine to disable the JCR ExcerptTest that results in this problem:

{noformat}
cd oak-solr-core
mvn -Dtest=QueryJcrTest test

[INFO] Running org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
[ERROR] Tests run: 218, Failures: 0, Errors: 13, Skipped: 0, Time elapsed: 29.572 s <<< FAILURE! - in org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
[ERROR] testQuotedPhraseNoMatchScrambled(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.098 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testQuotedPhraseNoMatchScrambled(ExcerptTest.java:190)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testQuotedPhraseNoMatchScrambled(ExcerptTest.java:190)

[ERROR] testEncodeIllegalCharsNoHighlights(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.09 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testEncodeIllegalCharsNoHighlights(ExcerptTest.java:121)

[ERROR] testQuotedPhraseNoMatchGap(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.147 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testQuotedPhraseNoMatchGap(ExcerptTest.java:213)

[ERROR] testMatchMultipleNonMatchingTokens(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.106 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testMatchMultipleNonMatchingTokens(ExcerptTest.java:332)

[ERROR] testEagerMatch(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.127 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testEagerMatch(ExcerptTest.java:250)

[ERROR] testEagerMatch2(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.109 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testEagerMatch2(ExcerptTest.java:258)

[ERROR] testEagerMatch3(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.109 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testEagerMatch3(ExcerptTest.java:267)

[ERROR] testHightlightLastWord(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.085 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testHightlightLastWord(ExcerptTest.java:54)

[ERROR] testHightlightWordBetween(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.076 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testHightlightWordBetween(ExcerptTest.java:60)

[ERROR] testQuotedPhraseNoMatch(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.087 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.testQuotedPhraseNoMatch(ExcerptTest.java:164)

[ERROR] testHighlightMultipleTerms(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.083 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testHighlightMultipleTerms(ExcerptTest.java:96)

[ERROR] testHighlightJa(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.141 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testHighlightJa(ExcerptTest.java:239)

[ERROR] testHightlightFirstWord(org.apache.jackrabbit.core.query.ExcerptTest)  Time elapsed: 0.134 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.apache.jackrabbit.core.query.ExcerptTest.checkExcerpt(ExcerptTest.java:277)
	at org.apache.jackrabbit.core.query.ExcerptTest.testHightlightFirstWord(ExcerptTest.java:48)

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testEagerMatch:250->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testEagerMatch2:258->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testEagerMatch3:267->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testEncodeIllegalCharsNoHighlights:121 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testHighlightJa:239->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testHighlightMultipleTerms:96->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testHightlightFirstWord:48->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testHightlightLastWord:54->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testHightlightWordBetween:60->checkExcerpt:277 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testMatchMultipleNonMatchingTokens:332 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testQuotedPhraseNoMatch:164 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testQuotedPhraseNoMatchGap:213 » NoClassDefFound
[ERROR]   ExcerptTest>AbstractJCRTest.run:476->testQuotedPhraseNoMatchScrambled:190 » NoClassDefFound
[INFO] 
[ERROR] Tests run: 218, Failures: 0, Errors: 13, Skipped: 0
{noformat}

In Oak, we don't use MoreObjects. But we do use com.google.common.base.Objects.ToStringHelper which is deprecated in Guava and not available in a later version of Guava (the one that Solr uses). That one I think is a problem, and we should remove this code. But I will file a separate issue for that.



> Upgrade Apache Solr to 8.6.3
> ----------------------------
>
>                 Key: OAK-9261
>                 URL: https://issues.apache.org/jira/browse/OAK-9261
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: query, solr
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Major
>
> We are currently using a relatively old version of Apache Solr.
> I will try upgrading to the latest stable version, 8.6.3



--
This message was sent by Atlassian Jira
(v8.3.4#803005)