You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by Christopher Tubbs <ct...@apache.org> on 2015/01/28 23:39:17 UTC

Review Request 30382: ACCUMULO-3514 Use auto service for start

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/
-----------------------------------------------------------

Review request for accumulo.


Bugs: ACCUMULO-3514
    https://issues.apache.org/jira/browse/ACCUMULO-3514


Repository: accumulo


Description
-------

    ACCUMULO-3514 Use auto-service for start
    
    Use @AutoService annotations and Java's ServiceLoader mechanism to discover
    classes which are executable by Accumulo's "start" jar with a keyword.
    
    This replaces manual intervention whenever we add a new option to the
    bin/accumulo script and also auto-populates the usage for that script.


Diffs
-----

  core/pom.xml 5fc7a6e 
  core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
  core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
  minicluster/pom.xml ee6cdc8 
  minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
  pom.xml dda1cfe 
  proxy/pom.xml 9312d7b 
  proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
  server/base/pom.xml c21a168 
  server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
  server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
  server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
  server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
  server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
  server/gc/pom.xml 9602b95 
  server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
  server/master/pom.xml 7e9ab1d 
  server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
  server/monitor/pom.xml ba61aeb 
  server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
  server/tracer/pom.xml ac9f45f 
  server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
  server/tserver/pom.xml cd0f8ef 
  server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
  shell/pom.xml db3530f 
  shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
  start/src/main/java/org/apache/accumulo/start/Main.java c820883 
  start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30382/diff/


Testing
-------


Thanks,

Christopher Tubbs


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 29, 2015, 3:17 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, lines 226-231
> > <https://reviews.apache.org/r/30382/diff/1/?file=839289#file839289line226>
> >
> >     StringUtils.join() ?

Is there a StringUtils that's already on the start classpath?


> On Jan. 29, 2015, 3:17 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 236
> > <https://reviews.apache.org/r/30382/diff/1/?file=839289#file839289line236>
> >
> >     Why a ConcurrentHashMap?

For putIfAbsent().


> On Jan. 29, 2015, 3:17 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java, line 19
> > <https://reviews.apache.org/r/30382/diff/1/?file=839290#file839290line19>
> >
> >     Is this import just for the docs?

Yes, but why does that matter?


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70260
-----------------------------------------------------------


On Jan. 28, 2015, 5:39 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 28, 2015, 5:39 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Mike Drob <md...@mdrob.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70260
-----------------------------------------------------------



server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java
<https://reviews.apache.org/r/30382/#comment115341>

    nit: empty javadoc



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115347>

    Create simple Executors for these too so that they are not special cased.



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115345>

    StringUtils.join() ?



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115346>

    Why a ConcurrentHashMap?



start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java
<https://reviews.apache.org/r/30382/#comment115348>

    Is this import just for the docs?


- Mike Drob


On Jan. 28, 2015, 10:39 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 28, 2015, 10:39 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by ke...@deenlo.com.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70256
-----------------------------------------------------------



minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
<https://reviews.apache.org/r/30382/#comment115335>

    this is adding a method to public API


- kturner


On Jan. 28, 2015, 10:39 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 28, 2015, 10:39 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by ke...@deenlo.com.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70406
-----------------------------------------------------------



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115578>

    Seems unexpected to have multiple classes with the same keyword.  Not sure we should silently ignore this condition.


- kturner


On Jan. 30, 2015, 1:03 a.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 1:03 a.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 11 a.m., Josh Elser wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 49
> > <https://reviews.apache.org/r/30382/diff/2/?file=841134#file841134line49>
> >
> >     Let's make sure this gets answered rather than commit a question to the codebase (I don't know why it's needed either).
> 
> Christopher Tubbs wrote:
>     Agreed.

I checked with Dave Marion, and he seemed to think it wasn't needed. And, neither do I (hence my initial interrogative comment). So, I'm deleting it.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70368
-----------------------------------------------------------


On Jan. 29, 2015, 8:03 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 29, 2015, 8:03 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 11 a.m., Josh Elser wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 49
> > <https://reviews.apache.org/r/30382/diff/2/?file=841134#file841134line49>
> >
> >     Let's make sure this gets answered rather than commit a question to the codebase (I don't know why it's needed either).

Agreed.


> On Jan. 30, 2015, 11 a.m., Josh Elser wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 148
> > <https://reviews.apache.org/r/30382/diff/2/?file=841134#file841134line148>
> >
> >     Why are we using the string class name here? (I know it's a copy-paste)

To avoid loading the class with the current thread's class loader, I imagine. It looks like we want it to be loaded only by AccumuloClassLoader.getClassLoader(). I'm not sure the details, so I just preserved the existing behavior.


> On Jan. 30, 2015, 11 a.m., Josh Elser wrote:
> > test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java, line 78
> > <https://reviews.apache.org/r/30382/diff/2/?file=841137#file841137line78>
> >
> >     Make constants for each KeywordExecutable that you can reference in this test instead of duplicating Strings.
> >     
> >     e.g. Admin.KEYWORD = "admin"

I wanted to be very explicit in the tests, so that the test results would not be affected by refactorings which would give a false negative test result (successfully passing when the name changed, when it should have failed due to the name change).


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70368
-----------------------------------------------------------


On Jan. 29, 2015, 8:03 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 29, 2015, 8:03 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 11 a.m., Josh Elser wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 49
> > <https://reviews.apache.org/r/30382/diff/2/?file=841134#file841134line49>
> >
> >     Let's make sure this gets answered rather than commit a question to the codebase (I don't know why it's needed either).
> 
> Christopher Tubbs wrote:
>     Agreed.
> 
> Christopher Tubbs wrote:
>     I checked with Dave Marion, and he seemed to think it wasn't needed. And, neither do I (hence my initial interrogative comment). So, I'm deleting it.
> 
> Sean Busbey wrote:
>     Setting the context classloader here to the one from Accumulo will impact how JNDI resolves classes before it is set again. (I don't know if anyone relies on this behavior)

I thought Keith had looked into this a bit, and suggested that it would only affect it if it was set before the thread started. Otherwise, it would only matter if some code was calling Main.main() directly and then retrieving the current thread's context class loader (which does not seem like a reasonable thing to do). All the classes we load when we let Java execute this as it's main class are loaded using the classloaders we set up before we execute the specified classname (or class corresponding to the keyword) in a thread whose class loader we set up.

I'm inclined to think this is vestigial behavior that quite obscure, has never been defined enough for people to rely on, and has been left in because so few people want to deal with class loader nightmares.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70368
-----------------------------------------------------------


On Jan. 30, 2015, 5:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 5:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Sean Busbey <se...@manvsbeard.com>.

> On Jan. 30, 2015, 4 p.m., Josh Elser wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 49
> > <https://reviews.apache.org/r/30382/diff/2/?file=841134#file841134line49>
> >
> >     Let's make sure this gets answered rather than commit a question to the codebase (I don't know why it's needed either).
> 
> Christopher Tubbs wrote:
>     Agreed.
> 
> Christopher Tubbs wrote:
>     I checked with Dave Marion, and he seemed to think it wasn't needed. And, neither do I (hence my initial interrogative comment). So, I'm deleting it.

Setting the context classloader here to the one from Accumulo will impact how JNDI resolves classes before it is set again. (I don't know if anyone relies on this behavior)


- Sean


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70368
-----------------------------------------------------------


On Jan. 30, 2015, 10:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 10:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Josh Elser <jo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70368
-----------------------------------------------------------



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115482>

    Let's make sure this gets answered rather than commit a question to the codebase (I don't know why it's needed either).



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115483>

    Why are we using the string class name here? (I know it's a copy-paste)



test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java
<https://reviews.apache.org/r/30382/#comment115484>

    Make constants for each KeywordExecutable that you can reference in this test instead of duplicating Strings.
    
    e.g. Admin.KEYWORD = "admin"


- Josh Elser


On Jan. 30, 2015, 1:03 a.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 1:03 a.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 5:40 p.m., Mike Drob wrote:
> > core/src/main/java/org/apache/accumulo/core/util/Classpath.java, line 33
> > <https://reviews.apache.org/r/30382/diff/4/?file=842636#file842636line33>
> >
> >     I'm kind of not a fan of this cyclic dependency, but I'm not sure there is a better solution.

I'm not either, but technically, we already had a dependency cycle here... which is why we were loading the classes via reflection. I did a first attempt at putting the annotated classes in the same jar as the Main method itself, but that did not work, due to a chicken-and-egg problem with the interface being defined in the same jar as we were trying to run the annotation processor on. Essentially, it resulted in compile-time CNFEs, so I had to move it to core. It was either this, or have one keyword function treated specially, which seemed in opposition to your previous suggestion (and my preference) to make annotated classes for those extra keywords also.


> On Jan. 30, 2015, 5:40 p.m., Mike Drob wrote:
> > core/src/main/java/org/apache/accumulo/core/util/Jar.java, line 39
> > <https://reviews.apache.org/r/30382/diff/4/?file=842639#file842639line39>
> >
> >     Should classes be exiting directly? Maybe it would be better to return a boolean or status of some sort. Can be done in a follow on issue.

Primarily, I did this to preserve existing behavior. However, due to the nature of the `execute` function on this interface, it really is supposed to function like a `main()` method, so unless we want to define additional semantics, this is the easiest way to send out an exit code that is non-zero. The only purpose of this interface is to automate management of main classes associated with particular keywords, we were maintaining manually, so nobody should be calling execute themselves (or, if they do, they should expect it to behave similarly to `main()`, which frequently call `System.exit(n)`.

What would be *really* great is if Java itself allowed `public static int main`, like how some versions of C allow `int main` instead of `void main`. Then we could do more fancy things without inventing our own semantics.


> On Jan. 30, 2015, 5:40 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 270
> > <https://reviews.apache.org/r/30382/diff/4/?file=842665#file842665line270>
> >
> >     This could declare the return a SortedMap? Or not actually bother returning a sorted map.

It doesn't matter. We don't care if it is sorted or not, and the set is so small, that pretty much any implementation would be fine.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70431
-----------------------------------------------------------


On Jan. 30, 2015, 5:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 5:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Mike Drob <md...@mdrob.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70431
-----------------------------------------------------------

Ship it!



core/src/main/java/org/apache/accumulo/core/util/Classpath.java
<https://reviews.apache.org/r/30382/#comment115613>

    I'm kind of not a fan of this cyclic dependency, but I'm not sure there is a better solution.



core/src/main/java/org/apache/accumulo/core/util/Jar.java
<https://reviews.apache.org/r/30382/#comment115614>

    Should classes be exiting directly? Maybe it would be better to return a boolean or status of some sort. Can be done in a follow on issue.



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115615>

    This could declare the return a SortedMap? Or not actually bother returning a sorted map.


- Mike Drob


On Jan. 30, 2015, 10:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 10:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 6:34 p.m., Mike Drob wrote:
> > Another thought I had was that it would be good to establish the start commands as some sort of public facing interface (not quite API... a human interface) and hold ourselves to various compat promises on these. We've already implicitly encouraged operators to build tooling around our exposed shell primitives, so we should try to be nice to them where possible.
> > 
> > Fine to do in follow on work.

I did make effort to ensure the start commands maintained the ability to launch with the main methods. Beyond that, things like their arguments, behavior, etc., I agree it would be a good idea to maintain compat, but it's outside the scope of this work (which preserved all existing behavior). I do think we've probably been pretty good at maintaining compat with these. At the very least, they don't change frequently (not since the big jcommander update).

And, a big "eek" on the "implicitly encouraged operators to build tooling around our exposed shell primitives". I have actively discouraged that, except for basic one-time things. If people need to do anything routinely, I've recommended they use the API, not the shell. In any case, the shell compat is also probably a worthwhile issue to address, but also (well) outside the scope of this.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70446
-----------------------------------------------------------


On Jan. 30, 2015, 5:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 5:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Mike Drob <md...@mdrob.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70446
-----------------------------------------------------------


Another thought I had was that it would be good to establish the start commands as some sort of public facing interface (not quite API... a human interface) and hold ourselves to various compat promises on these. We've already implicitly encouraged operators to build tooling around our exposed shell primitives, so we should try to be nice to them where possible.

Fine to do in follow on work.

- Mike Drob


On Jan. 30, 2015, 10:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 10:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/
-----------------------------------------------------------

(Updated Jan. 30, 2015, 5:06 p.m.)


Review request for accumulo.


Changes
-------

Added test for duplicate check and other suggestions from Mike.


Bugs: ACCUMULO-1844 and ACCUMULO-3514
    https://issues.apache.org/jira/browse/ACCUMULO-1844
    https://issues.apache.org/jira/browse/ACCUMULO-3514


Repository: accumulo


Description
-------

    ACCUMULO-3514 Use auto-service for start
    
    Use @AutoService annotations and Java's ServiceLoader mechanism to discover
    classes which are executable by Accumulo's "start" jar with a keyword.
    
    This replaces manual intervention whenever we add a new option to the
    bin/accumulo script and also auto-populates the usage for that script.


Diffs (updated)
-----

  core/pom.xml 5fc7a6e 
  core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
  core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
  core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
  minicluster/pom.xml ee6cdc8 
  minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
  minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
  pom.xml dda1cfe 
  proxy/pom.xml 9312d7b 
  proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
  server/base/pom.xml c21a168 
  server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
  server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
  server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
  server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
  server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
  server/gc/pom.xml 9602b95 
  server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
  server/master/pom.xml 7e9ab1d 
  server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
  server/monitor/pom.xml ba61aeb 
  server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
  server/tracer/pom.xml ac9f45f 
  server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
  server/tserver/pom.xml cd0f8ef 
  server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
  shell/pom.xml db3530f 
  shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
  start/src/main/java/org/apache/accumulo/start/Main.java c820883 
  start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
  start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
  test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30382/diff/


Testing
-------


Thanks,

Christopher Tubbs


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Mike Drob <md...@mdrob.com>.

> On Jan. 30, 2015, 8:57 p.m., Mike Drob wrote:
> > test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java, line 61
> > <https://reviews.apache.org/r/30382/diff/3/?file=842151#file842151line61>
> >
> >     nit: empty javadoc
> 
> Christopher Tubbs wrote:
>     We could probably add a checkstyle rule to prevent these, if you wish.

Good idea. ACCUMULO-3550.


- Mike


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70424
-----------------------------------------------------------


On Jan. 30, 2015, 10:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 10:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 3:57 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 270
> > <https://reviews.apache.org/r/30382/diff/3/?file=842148#file842148line270>
> >
> >     Refactor creating this into a method that takes kw as an argument. No reason to create it for every single class.
> 
> Christopher Tubbs wrote:
>     For something this trivial, I think it would decrease readability unnecessarily, but I can make refactor the if statement to skip this when not needed.

I ended up putting it in its own method anyway.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70424
-----------------------------------------------------------


On Jan. 30, 2015, 5:06 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 5:06 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.

> On Jan. 30, 2015, 3:57 p.m., Mike Drob wrote:
> > start/src/main/java/org/apache/accumulo/start/Main.java, line 270
> > <https://reviews.apache.org/r/30382/diff/3/?file=842148#file842148line270>
> >
> >     Refactor creating this into a method that takes kw as an argument. No reason to create it for every single class.

For something this trivial, I think it would decrease readability unnecessarily, but I can make refactor the if statement to skip this when not needed.


> On Jan. 30, 2015, 3:57 p.m., Mike Drob wrote:
> > test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java, line 61
> > <https://reviews.apache.org/r/30382/diff/3/?file=842151#file842151line61>
> >
> >     nit: empty javadoc

We could probably add a checkstyle rule to prevent these, if you wish.


- Christopher


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70424
-----------------------------------------------------------


On Jan. 30, 2015, 3:46 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 3:46 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Mike Drob <md...@mdrob.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/#review70424
-----------------------------------------------------------



start/src/main/java/org/apache/accumulo/start/Main.java
<https://reviews.apache.org/r/30382/#comment115596>

    Refactor creating this into a method that takes kw as an argument. No reason to create it for every single class.



test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java
<https://reviews.apache.org/r/30382/#comment115597>

    nit: empty javadoc



test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java
<https://reviews.apache.org/r/30382/#comment115598>

    Include a test for duplicate keywords?


- Mike Drob


On Jan. 30, 2015, 8:46 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30382/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 8:46 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-1844 and ACCUMULO-3514
>     https://issues.apache.org/jira/browse/ACCUMULO-1844
>     https://issues.apache.org/jira/browse/ACCUMULO-3514
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
>     ACCUMULO-3514 Use auto-service for start
>     
>     Use @AutoService annotations and Java's ServiceLoader mechanism to discover
>     classes which are executable by Accumulo's "start" jar with a keyword.
>     
>     This replaces manual intervention whenever we add a new option to the
>     bin/accumulo script and also auto-populates the usage for that script.
> 
> 
> Diffs
> -----
> 
>   core/pom.xml 5fc7a6e 
>   core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
>   core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
>   core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
>   minicluster/pom.xml ee6cdc8 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
>   pom.xml dda1cfe 
>   proxy/pom.xml 9312d7b 
>   proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
>   server/base/pom.xml c21a168 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
>   server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
>   server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
>   server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
>   server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
>   server/gc/pom.xml 9602b95 
>   server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
>   server/master/pom.xml 7e9ab1d 
>   server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
>   server/monitor/pom.xml ba61aeb 
>   server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
>   server/tracer/pom.xml ac9f45f 
>   server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
>   server/tserver/pom.xml cd0f8ef 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
>   shell/pom.xml db3530f 
>   shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
>   start/src/main/java/org/apache/accumulo/start/Main.java c820883 
>   start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
>   start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
>   test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30382/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/
-----------------------------------------------------------

(Updated Jan. 30, 2015, 3:46 p.m.)


Review request for accumulo.


Changes
-------

Updated patch to drop unneeded setting of current thread's context classloader, and to check for duplicate bindings.


Bugs: ACCUMULO-1844 and ACCUMULO-3514
    https://issues.apache.org/jira/browse/ACCUMULO-1844
    https://issues.apache.org/jira/browse/ACCUMULO-3514


Repository: accumulo


Description
-------

    ACCUMULO-3514 Use auto-service for start
    
    Use @AutoService annotations and Java's ServiceLoader mechanism to discover
    classes which are executable by Accumulo's "start" jar with a keyword.
    
    This replaces manual intervention whenever we add a new option to the
    bin/accumulo script and also auto-populates the usage for that script.


Diffs (updated)
-----

  core/pom.xml 5fc7a6e 
  core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
  core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
  core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
  minicluster/pom.xml ee6cdc8 
  minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
  minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
  pom.xml dda1cfe 
  proxy/pom.xml 9312d7b 
  proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
  server/base/pom.xml c21a168 
  server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
  server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
  server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
  server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
  server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
  server/gc/pom.xml 9602b95 
  server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
  server/master/pom.xml 7e9ab1d 
  server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
  server/monitor/pom.xml ba61aeb 
  server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
  server/tracer/pom.xml ac9f45f 
  server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
  server/tserver/pom.xml cd0f8ef 
  server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
  shell/pom.xml db3530f 
  shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
  start/src/main/java/org/apache/accumulo/start/Main.java c820883 
  start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
  start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
  test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30382/diff/


Testing
-------


Thanks,

Christopher Tubbs


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/
-----------------------------------------------------------

(Updated Jan. 29, 2015, 8:03 p.m.)


Review request for accumulo.


Bugs: ACCUMULO-1844 and ACCUMULO-3514
    https://issues.apache.org/jira/browse/ACCUMULO-1844
    https://issues.apache.org/jira/browse/ACCUMULO-3514


Repository: accumulo


Description
-------

    ACCUMULO-3514 Use auto-service for start
    
    Use @AutoService annotations and Java's ServiceLoader mechanism to discover
    classes which are executable by Accumulo's "start" jar with a keyword.
    
    This replaces manual intervention whenever we add a new option to the
    bin/accumulo script and also auto-populates the usage for that script.


Diffs
-----

  core/pom.xml 5fc7a6e 
  core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
  core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
  core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
  minicluster/pom.xml ee6cdc8 
  minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
  minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
  pom.xml dda1cfe 
  proxy/pom.xml 9312d7b 
  proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
  server/base/pom.xml c21a168 
  server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
  server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
  server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
  server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
  server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
  server/gc/pom.xml 9602b95 
  server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
  server/master/pom.xml 7e9ab1d 
  server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
  server/monitor/pom.xml ba61aeb 
  server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
  server/tracer/pom.xml ac9f45f 
  server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
  server/tserver/pom.xml cd0f8ef 
  server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
  shell/pom.xml db3530f 
  shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
  start/src/main/java/org/apache/accumulo/start/Main.java c820883 
  start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
  start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
  test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30382/diff/


Testing
-------


Thanks,

Christopher Tubbs


Re: Review Request 30382: ACCUMULO-3514 Use auto service for start

Posted by Christopher Tubbs <ct...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30382/
-----------------------------------------------------------

(Updated Jan. 29, 2015, 8:02 p.m.)


Review request for accumulo.


Changes
-------

Update patch with changes for ACCUMULO-1844 and based on suggestions here.


Bugs: ACCUMULO-3514
    https://issues.apache.org/jira/browse/ACCUMULO-3514


Repository: accumulo


Description
-------

    ACCUMULO-3514 Use auto-service for start
    
    Use @AutoService annotations and Java's ServiceLoader mechanism to discover
    classes which are executable by Accumulo's "start" jar with a keyword.
    
    This replaces manual intervention whenever we add a new option to the
    bin/accumulo script and also auto-populates the usage for that script.


Diffs (updated)
-----

  core/pom.xml 5fc7a6e 
  core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java f29efcc 
  core/src/main/java/org/apache/accumulo/core/util/Classpath.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/CreateToken.java 79b241c 
  core/src/main/java/org/apache/accumulo/core/util/Help.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Jar.java PRE-CREATION 
  core/src/main/java/org/apache/accumulo/core/util/Version.java ee645ff 
  minicluster/pom.xml ee6cdc8 
  minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java c45abc0 
  minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniClusterExecutable.java PRE-CREATION 
  pom.xml dda1cfe 
  proxy/pom.xml 9312d7b 
  proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 0a4d12e 
  server/base/pom.xml c21a168 
  server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 0a1f411 
  server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 77d5ea1 
  server/base/src/main/java/org/apache/accumulo/server/util/Info.java 29fa135 
  server/base/src/main/java/org/apache/accumulo/server/util/LoginProperties.java be5a7c8 
  server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 0edcf71 
  server/gc/pom.xml 9602b95 
  server/gc/src/main/java/org/apache/accumulo/gc/GCExecutable.java PRE-CREATION 
  server/master/pom.xml 7e9ab1d 
  server/master/src/main/java/org/apache/accumulo/master/MasterExecutable.java PRE-CREATION 
  server/monitor/pom.xml ba61aeb 
  server/monitor/src/main/java/org/apache/accumulo/monitor/MonitorExecutable.java PRE-CREATION 
  server/tracer/pom.xml ac9f45f 
  server/tracer/src/main/java/org/apache/accumulo/tracer/TracerExecutable.java PRE-CREATION 
  server/tserver/pom.xml cd0f8ef 
  server/tserver/src/main/java/org/apache/accumulo/tserver/TServerExecutable.java PRE-CREATION 
  shell/pom.xml db3530f 
  shell/src/main/java/org/apache/accumulo/shell/Shell.java a64ff45 
  start/src/main/java/org/apache/accumulo/start/Main.java c820883 
  start/src/main/java/org/apache/accumulo/start/spi/KeywordExecutable.java PRE-CREATION 
  start/src/test/java/org/apache/accumulo/start/MainTest.java 1ea22fb 
  test/src/test/java/org/apache/accumulo/start/KeywordStartIT.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30382/diff/


Testing
-------


Thanks,

Christopher Tubbs