Hadoop QA commented on AMBARI-21701:

{color:red}-1 overall{color}.  Here are the results of testing the latest 
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author 

    {color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
                        Please justify why no new tests are needed for this 
                        Also please list what manual steps were performed to 
verify this patch.

    {color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

    {color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in 

Console output: 

This message is automatically generated.

> Add check for import from relocated packages
> --------------------------------------------
>                 Key: AMBARI-21701
>                 URL: https://issues.apache.org/jira/browse/AMBARI-21701
>             Project: Ambari
>          Issue Type: Improvement
>          Components: ambari-server
>    Affects Versions: 3.0.0
>            Reporter: Doroszlai, Attila
>            Assignee: Doroszlai, Attila
>            Priority: Minor
>             Fix For: 3.0.0
>         Attachments: AMBARI-21701.patch
> Occasionally an import from {{org.apache.hadoop.metrics2.sink.relocated....}} 
> creeps into {{ambari-server}} source code, causing compile errors:
> {noformat}
> $ mvn -am -pl ambari-server clean test
> ...
> [ERROR] 
> ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java:[39,71]
>  package org.apache.hadoop.metrics2.sink.relocated.google.common.collect does 
> not exist
> [ERROR] 
> ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java:[114,34]
>  cannot find symbol
> [ERROR]   symbol:   variable Sets
> [ERROR]   location: class 
> org.apache.ambari.server.checks.AbstractCheckDescriptorTest
> {noformat}
> The problem is that the same code can be compiled if dependencies are already 
> installed in one's local Maven repository.
> {noformat}
> $ mvn -am -pl 
> ambari-metrics/ambari-metrics-common,ambari-serviceadvisor,ambari-views clean 
> install
> ...
> $ mvn -pl ambari-server clean test
> ...
> {noformat}
> This succeeds because {{ambari-metrics-common}} installs a shaded uber jar 
> including the {{..relocated..}} packages, hence they are available when 
> compiling {{ambari-server}}.  On the other hand, when building from scratch 
> (selectively with {{-am -pl ...}}, or the entire multimodule project) 
> classpath contains {{ambari-metrics-common}} classes and individual 
> dependencies without relocation.
> The goal of this change is to add a checkstyle check to catch such imports at 
> build-time with both compilation methods.

This message was sent by Atlassian JIRA

Reply via email to