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

Nick Dimiduk commented on HBASE-7971:
-------------------------------------

bq. You are generating hbase/target/cached_classpath.txt, but referring to 
hbase/hbase-it/target/cached_classpath.txt.

Nope, it's generating and consuming hbase/hbase-it/target/cached_classpath.txt. 
The modified pom is not the top-level one, but for hbase-it.

bq. One other thing is that, this cached classpath won't contain test 
artifacts, because it is invoked from compile.

What invokes bin/hbase and also depends on the test jars? git-grep shows this 
file being produced in hbase-it.pom and consumed only in the launch scripts, 
bin/hbase and bin/hbase.cmd.

This looks discouraging:

{noformat}
$ git grep -n bin\/hbase
...
hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java:133:   
* CommandProvider to manage the service using bin/hbase-* scripts
hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java:150:    
  return String.format("%s/bin/hbase-daemon.sh %s %s %s", getHBaseHome(), 
getConfig(),
...
hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java:1596:
    System.err.println(" $ bin/hbase " + this.getClass().getName()
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/OOMERegionServer.java:38:
 * <code>${HBASE_HOME}/bin/hbase ./bin/hbase 
org.apache.hadoop.hbase.OOMERegionServer start</code>.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/HLogPerformanceEvaluation.java:273:
    System.err.printf("Usage: bin/hbase %s [options]\n", getClass().getName());
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/HLogPerformanceEvaluation.java:291:
    System.err.println(" $ ./bin/hbase 
org.apache.hadoop.hbase.regionserver.wal.HLogPerformanceEval
hbase-server/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java:1148:
    System.err.println(" $ bin/hbase " + this.getClass().getName()
hbase-server/src/test/java/org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java:114:
    hbaseDaemonScript = hbaseHome + "/bin/hbase-daemon.sh";
{noformat}
                
> mvn clean compile on trunk and 0.95 does not produce 
> target/cached_classpath.txt
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-7971
>                 URL: https://issues.apache.org/jira/browse/HBASE-7971
>             Project: HBase
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.95.0, 0.98.0
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>            Priority: Minor
>         Attachments: 
> 0001-HBASE-7971-fix-cached_classpath.txt-dev-sandbox.patch, 
> 0001-HBASE-7971-fix-cached_classpath.txt-dev-sandbox.patch
>
>
> The usual workflow of {{mvn clean compile}} followed by {{./bin/hbase foo}} 
> no longer works. It looks like it was broken by HBASE-7637, switching the 
> phase in hbase-it/pom.xml from {{compile}} to {{test}}. Before I propose the 
> obvious patch, a couple questions:
> [~nkeywal]: why is this done in hbase-it instead of anywhere else, such as 
> the top-level pom?
> [~eclark]: why does this execution in the compile phase break hadoop-2 
> profile while running it in test does not?

--
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

Reply via email to