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 "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2017/06/05 18:49:04 UTC

[jira] [Comment Edited] (OAK-6306) upgrade uses lucene wrong version (transient dependency)

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

Tomek Rękawek edited comment on OAK-6306 at 6/5/17 6:48 PM:
------------------------------------------------------------

I'd use the javadoc workaround. oak-upgrade code requires the Jackrabbit 2 code to work. Upgrading the library to 4.7.1 will break it. Even if the RepositorySidegrade is updated to use the new API (like in this [draft patch|https://github.com/trekawek/jackrabbit-oak/commit/2cb3fb75cb8e7c0432341114a1c25cfcd51b56b6] on my private github), it won't pass any tests, because the provided Lucene 4.7.1 won't be compatible with the JCR2 bindings.

Please apply the javadoc workaround or let me know and I'll do it.


was (Author: tomek.rekawek):
I'd use the javadoc workaround. oak-upgrade code requires the Jackrabbit 2 code to work. Upgrading the library to 4.7.1 will break it. Even if the RepositorySidegrade [is updated to use the new API|https://github.com/trekawek/jackrabbit-oak/tree/OAK-6306], it won't pass any tests, because the provided Lucene 4.7.1 won't be compatible with the JCR2 bindings.

Please apply the javadoc workaround or let me know and I'll do it.

> upgrade uses lucene wrong version (transient dependency)
> --------------------------------------------------------
>
>                 Key: OAK-6306
>                 URL: https://issues.apache.org/jira/browse/OAK-6306
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: upgrade
>    Affects Versions: 1.7.0
>            Reporter: Davide Giannella
>            Assignee: Tomek Rękawek
>            Priority: Blocker
>             Fix For: 1.7.1
>
>
> While trying to perform the release of 1.7.1 I stumbled upon javadoc errors not finding artifacts
> {noformat}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:aggregate (aggregate) on project jackrabbit-oak: An error has occurred in JavaDocs report generation: 
> [ERROR] Exit code: 1 - javadoc: warning - Multiple sources of package comments found for package "org.osgi.service.component"
> [ERROR] javadoc: warning - Multiple sources of package comments found for package "org.osgi.util.tracker"
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:139: error: cannot find symbol
> [ERROR] import org.apache.lucene.index.TermDocs;
> [ERROR]                               ^
> [ERROR]   symbol:   class TermDocs
> [ERROR]   location: package org.apache.lucene.index
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:140: error: cannot find symbol
> [ERROR] import org.apache.lucene.index.TermEnum;
> [ERROR]                               ^
> [ERROR]   symbol:   class TermEnum
> [ERROR]   location: package org.apache.lucene.index
> {noformat}
> A deeper investigation highlighted that oak-upgrade leverage a lucene API version of 3.6.0 as transiently pulled in via jackrabbit-core. Oak on the other hand leverage 4.7.1 (see {{lucene.version}} in parent pom).
> While is possible to workaround the javadoc error by something like
> {noformat}
> diff --git a/pom.xml b/pom.xml
> index 1b29d27322..6955e8c307 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -135,6 +135,13 @@
>              <configuration>
>                <reportOutputDirectory>${basedir}/oak-doc/target/site</reportOutputDirectory>
>                <additionalparam>-notimestamp</additionalparam>
> +              <additionalDependencies>
> +                <additionalDependency>
> +                  <groupId>org.apache.lucene</groupId>
> +                  <artifactId>lucene-core</artifactId>
> +                  <version>3.6.0</version>
> +                </additionalDependency>
> +              </additionalDependencies>
>              </configuration>
>            </plugin>
>          </plugins>
> {noformat}
> adding the right dependency to the oak-upgrade makes it fail to compile hinting to two classes that seem to be gone with the 4.x release of lucene: {{TermDocs}} and {{TermEnum}}
> {noformat}
> diff --git a/oak-upgrade/pom.xml b/oak-upgrade/pom.xml
> index 6907e6e52d..62d818a9df 100644
> --- a/oak-upgrade/pom.xml
> +++ b/oak-upgrade/pom.xml
> @@ -138,6 +138,16 @@
>        <groupId>org.apache.tomcat</groupId>
>        <artifactId>tomcat-jdbc</artifactId>
>      </dependency>
> +    <dependency>
> +      <groupId>org.apache.lucene</groupId>
> +      <artifactId>lucene-core</artifactId>
> +      <version>${lucene.version}</version>
> +    </dependency>
> +    <dependency>
> +      <groupId>org.apache.lucene</groupId>
> +      <artifactId>lucene-analyzers-common</artifactId>
> +      <version>${lucene.version}</version>
> +    </dependency>
>  
>      <!-- Logging -->
>      <dependency>
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project oak-upgrade: Compilation failure: Compilation failure: 
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[139,31] cannot find symbol
> [ERROR]   symbol:   class TermDocs
> [ERROR]   location: package org.apache.lucene.index
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[140,31] cannot find symbol
> [ERROR]   symbol:   class TermEnum
> [ERROR]   location: package org.apache.lucene.index
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[1000,13] cannot find symbol
> [ERROR]   symbol:   class TermEnum
> [ERROR]   location: class org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[1000,36] cannot find symbol
> [ERROR]   symbol:   method terms(org.apache.lucene.index.Term)
> [ERROR]   location: variable reader of type org.apache.lucene.index.IndexReader
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[1008,21] cannot find symbol
> [ERROR]   symbol:   class TermDocs
> [ERROR]   location: class org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade
> [ERROR] /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java:[1008,43] cannot find symbol
> [ERROR]   symbol:   method termDocs(org.apache.lucene.index.Term)
> [ERROR]   location: variable reader of type org.apache.lucene.index.IndexReader
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)