[ 
https://issues.apache.org/jira/browse/SOLR-5173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Rowe updated SOLR-5173:
-----------------------------

    Attachment: SOLR-5173.patch

Patch fixing Ivy and Maven configurations to treat hadoop-hdfs, hadoop-auth, 
and hadoop-annotations as test dependencies.

This causes the following solr-core compilation warnings, presumably because 
hadoop-common is in the compilation classpath but hadoop-annotations is not - 
[[email protected]], is this a problem?:

{quote}
common.compile-core:
    [mkdir] Created dir: 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\build\solr-core\classes\java
    [javac] Compiling 615 source files to 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\build\solr-core\classes\java
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/FileSystem.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': 
class file for org.apache.hadoop.classification.InterfaceAudience not found
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/FileSystem.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/FileSystem.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/Path.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/security/UserGroupInformation.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/metrics/MetricsUtil.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/metrics/Updater.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/FSDataInputStream.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] 
C:\cygwin\home\s\svn\lucene\dev\trunk2\solr\core\lib\hadoop-common-2.0.5-alpha.jar(org/apache/hadoop/fs/FSDataOutputStream.class):
 warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 9 warnings
{quote}
                
> Test-only Hadoop dependencies are included in release artifacts
> ---------------------------------------------------------------
>
>                 Key: SOLR-5173
>                 URL: https://issues.apache.org/jira/browse/SOLR-5173
>             Project: Solr
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 4.4
>            Reporter: Steve Rowe
>            Assignee: Steve Rowe
>            Priority: Blocker
>             Fix For: 4.5
>
>         Attachments: SOLR-5173.patch
>
>
> Chris Collins [reported on 
> solr-user|http://markmail.org/message/evhpcougs5ppafjk] that solr-core 4.4 
> has dependencies on hadoop, and indirectly on jetty 6.
> As a workaround for Maven dependencies, the hadoop-hdfs, hadoop-auth, and 
> hadoop-annotations dependencies can be excluded, which will also exclude the 
> indirect jetty 6 dependency/ies.  hadoop-common is a compile-time dependency, 
> though, so I'm not sure if it's safe to exclude.
> The problems, as far as I can tell, are:
> 1) The ivy configuration puts three test-only dependencies (hadoop-hdfs, 
> hadoo-auth, and hadoop-annotations) in solr/core/lib/, rather than where they 
> belong, in solr/core/test-lib/.  (hadoop-common is required for solr-core 
> compilation to succeed.)
> 2) The Maven configuration makes the equivalent mistake in marking these 
> test-only hadoop dependencies as compile-scope rather than test-scope 
> dependencies.
> 3) The Solr .war, which packages everything under solr/core/lib/, includes 
> these three test-only hadoop dependencies (though it does not include any 
> jetty 6 jars).
> 4) The license files for jetty and jetty-util v6.1.26, but not the jar files 
> corresponding to them, are included in the Solr distribution.
> I have working (tests pass) local Ant and Maven configurations that treat the 
> three hadoop test-only dependencies properly; as result, the .war will no 
> longer contain them - this will cover problems #1-3 above.
> I think we can just remove the jetty and jetty-util 6.1.26 license files from 
> solr/licenses/, since we don't ship those jars.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to