Accumulo-1.7 - Build # 396 - Unstable

2018-01-10 Thread Apache Jenkins Server
The Apache Jenkins build system has built Accumulo-1.7 (build #396)

Status: Unstable

Check console output at https://builds.apache.org/job/Accumulo-1.7/396/ to view 
the results.

[jira] [Updated] (ACCUMULO-4776) Monitor advertises wrong address in ZooKeeper when binding to all interfaces (0.0.0.0)

2018-01-10 Thread Christopher Tubbs (JIRA)

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

Christopher Tubbs updated ACCUMULO-4776:

Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Monitor advertises wrong address in ZooKeeper when binding to all interfaces 
> (0.0.0.0)
> --
>
> Key: ACCUMULO-4776
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4776
> Project: Accumulo
>  Issue Type: Bug
>Affects Versions: 1.6.6, 1.7.2, 1.8.0
>Reporter: John Vines
>Assignee: Christopher Tubbs
>  Labels: pull-request-available
> Fix For: 1.7.4, 1.8.2
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> ACCUMULO-2065 fixed this by explicitly using the local host name as the 
> hostname to advertise. This was rolled back in ACCUMULO-4032 because the 2065 
> change broke the ability to specific which specific name/ip to bind to. This 
> means that log forwarding does not work in clusters using 
> ACCUMULO_MONITOR_BIND_ALL (originally introduced under ACCUMULO-1985)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] asfgit closed pull request #354: ACCUMULO-4776 Fix advertised host in monitor

2018-01-10 Thread GitBox
asfgit closed pull request #354: ACCUMULO-4776 Fix advertised host in monitor
URL: https://github.com/apache/accumulo/pull/354
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 1fa82d3b35..b3e3d5cb16 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -18,6 +18,8 @@
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -480,20 +482,27 @@ public void run(String hostname) {
   server.addServlet(ShellServlet.class, "/shell");
 server.start();
 
-try {
-  log.debug("Using " + hostname + " to advertise monitor location in 
ZooKeeper");
-
-  String monitorAddress = HostAndPort.fromParts(hostname, 
server.getPort()).toString();
+String advertiseHost = hostname;
+if (advertiseHost.equals("0.0.0.0")) {
+  try {
+advertiseHost = InetAddress.getLocalHost().getHostName();
+  } catch (UnknownHostException e) {
+log.error("Unable to get hostname", e);
+  }
+}
+log.debug("Using {} to advertise monitor location in ZooKeeper", 
advertiseHost);
 
+try {
+  String monitorAddress = HostAndPort.fromParts(advertiseHost, 
server.getPort()).toString();
   
ZooReaderWriter.getInstance().putPersistentData(ZooUtil.getRoot(instance) + 
Constants.ZMONITOR_HTTP_ADDR, monitorAddress.getBytes(UTF_8),
   NodeExistsPolicy.OVERWRITE);
-  log.info("Set monitor address in zookeeper to " + monitorAddress);
+  log.info("Set monitor address in zookeeper to {}", monitorAddress);
 } catch (Exception ex) {
   log.error("Unable to set monitor HTTP address in zookeeper", ex);
 }
 
-if (null != hostname) {
-  LogService.startLogListener(Monitor.getContext().getConfiguration(), 
instance.getInstanceID(), hostname);
+if (null != advertiseHost) {
+  LogService.startLogListener(Monitor.getContext().getConfiguration(), 
instance.getInstanceID(), advertiseHost);
 } else {
   log.warn("Not starting log4j listener as we could not determine address 
to use");
 }


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (ACCUMULO-4776) Monitor advertises wrong address in ZooKeeper when binding to all interfaces (0.0.0.0)

2018-01-10 Thread Christopher Tubbs (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16321349#comment-16321349
 ] 

Christopher Tubbs commented on ACCUMULO-4776:
-

[~vines], if you have a chance, please take a look at the PR 
(https://github.com/apache/accumulo/pull/354) to fix this issue. It is against 
1.7, but merges cleanly to 1.8, so you should be able to verify the fix in 1.8 
without a problem.

> Monitor advertises wrong address in ZooKeeper when binding to all interfaces 
> (0.0.0.0)
> --
>
> Key: ACCUMULO-4776
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4776
> Project: Accumulo
>  Issue Type: Bug
>Affects Versions: 1.6.6, 1.7.2, 1.8.0
>Reporter: John Vines
>Assignee: Christopher Tubbs
>  Labels: pull-request-available
> Fix For: 1.7.4, 1.8.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> ACCUMULO-2065 fixed this by explicitly using the local host name as the 
> hostname to advertise. This was rolled back in ACCUMULO-4032 because the 2065 
> change broke the ability to specific which specific name/ip to bind to. This 
> means that log forwarding does not work in clusters using 
> ACCUMULO_MONITOR_BIND_ALL (originally introduced under ACCUMULO-1985)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (ACCUMULO-4776) Monitor advertises wrong address in ZooKeeper when binding to all interfaces (0.0.0.0)

2018-01-10 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot updated ACCUMULO-4776:
-
Labels: pull-request-available  (was: )

> Monitor advertises wrong address in ZooKeeper when binding to all interfaces 
> (0.0.0.0)
> --
>
> Key: ACCUMULO-4776
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4776
> Project: Accumulo
>  Issue Type: Bug
>Affects Versions: 1.6.6, 1.7.2, 1.8.0
>Reporter: John Vines
>Assignee: Christopher Tubbs
>  Labels: pull-request-available
> Fix For: 1.7.4, 1.8.2
>
>
> ACCUMULO-2065 fixed this by explicitly using the local host name as the 
> hostname to advertise. This was rolled back in ACCUMULO-4032 because the 2065 
> change broke the ability to specific which specific name/ip to bind to. This 
> means that log forwarding does not work in clusters using 
> ACCUMULO_MONITOR_BIND_ALL (originally introduced under ACCUMULO-1985)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] ctubbsii opened a new pull request #354: ACCUMULO-4776 Fix advertised host in monitor

2018-01-10 Thread GitBox
ctubbsii opened a new pull request #354: ACCUMULO-4776 Fix advertised host in 
monitor
URL: https://github.com/apache/accumulo/pull/354
 
 
   Use the name of the localhost from the local name service when the
   monitor binds to 0.0.0.0 instead of advertising 0.0.0.0, which other
   servers cannot connect to. This fixes log forwarding from other Accumulo
   servers to the monitor when the monitor is configured to bind to all
   interfaces.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (ACCUMULO-4776) Monitor advertises wrong address in ZooKeeper when binding to all interfaces (0.0.0.0)

2018-01-10 Thread Christopher Tubbs (JIRA)

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

Christopher Tubbs updated ACCUMULO-4776:

Status: Patch Available  (was: Open)

> Monitor advertises wrong address in ZooKeeper when binding to all interfaces 
> (0.0.0.0)
> --
>
> Key: ACCUMULO-4776
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4776
> Project: Accumulo
>  Issue Type: Bug
>Affects Versions: 1.8.0, 1.7.2, 1.6.6
>Reporter: John Vines
>Assignee: Christopher Tubbs
> Fix For: 1.7.4, 1.8.2
>
>
> ACCUMULO-2065 fixed this by explicitly using the local host name as the 
> hostname to advertise. This was rolled back in ACCUMULO-4032 because the 2065 
> change broke the ability to specific which specific name/ip to bind to. This 
> means that log forwarding does not work in clusters using 
> ACCUMULO_MONITOR_BIND_ALL (originally introduced under ACCUMULO-1985)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (ACCUMULO-4158) Investigate using Google's error-prone

2018-01-10 Thread Jared R (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16320449#comment-16320449
 ] 

Jared R commented on ACCUMULO-4158:
---

I think the discussion here is about enforcing this error prone check, but just 
as a side note, I don't know what IDE (if any) people are using to develop but 
Intellij IDE has a nice feature where it does display a yellow or red circle at 
the top of display when a file has warnings and/or errors. Eclipse might have 
something similar and I just haven't noticed. It's really helpful personally 
when I'm developing because I try to make sure I get the green check. 

> Investigate using Google's error-prone
> --
>
> Key: ACCUMULO-4158
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4158
> Project: Accumulo
>  Issue Type: Improvement
>  Components: build
>Reporter: Michael Wall
>Assignee: Mark Owens
>Priority: Minor
> Attachments: ep-main.summary, ep-tests.summary
>
>
> Google has a tool at http://errorprone.info.  From that page
> {quote}
> Using Error Prone to augment the compiler’s type analysis, you can catch more 
> mistakes before they cost you time, or end up as bugs in production.
> {quote}
> It requires java 1.8.  In the top level pom, replacing
> {code:xml}
> 
>   maven-compiler-plugin
>   
> ${java.ver}
> ${java.ver}
> true
> true
> true
>   
> 
> {code}
> with
> {code:xml}
> 
>   org.apache.maven.plugins
>   maven-compiler-plugin
>   3.3
>   
> javac-with-errorprone
> true
> 
> ${java.ver}
> ${java.ver}
> 
>   -Xep:ChainingConstructorIgnoresParameter:WARN
>   -Xep:LongLiteralLowerCaseSuffix:OFF
>   -Xep:SizeGreaterThanOrEqualsZero:WARN
>   -Xep:InvalidPatternSyntax:WARN
>   -Xep:TryFailThrowable:WARN
>   -Xep:NonOverridingEquals:OFF
> 
> true
>   
>   
> 
> 
>   com.google.errorprone
>   error_prone_core
>   2.0.8
> 
> 
>   org.codehaus.plexus
>   plexus-compiler-javac-errorprone
>   2.5
> 
>   
> 
> {code}
> in the 1.6 branch and runing 'mvn compile' yielded the following. 
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache Accumulo Project
> [INFO] Apache Accumulo Trace
> [INFO] Apache Accumulo Fate
> [INFO] Apache Accumulo Start
> [INFO] Apache Accumulo Core
> [INFO] Apache Accumulo Simple Examples
> [INFO] Apache Accumulo Server Base
> [INFO] Apache Accumulo GC Server
> [INFO] Apache Accumulo Master Server
> [INFO] Apache Accumulo Monitor Server
> [INFO] Apache Accumulo Tracer Server
> [INFO] Apache Accumulo Tablet Server
> [INFO] Apache Accumulo MiniCluster
> [INFO] Apache Accumulo Native Libraries
> [INFO] Apache Accumulo Testing
> [INFO] Apache Accumulo Proxy
> [INFO] Apache Accumulo
> [INFO] Apache Accumulo Documentation
> [INFO] Apache Accumulo Maven Plugin
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Project 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Trace 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Fate 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Start 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Core 1.6.6-SNAPSHOT

[jira] [Comment Edited] (ACCUMULO-4158) Investigate using Google's error-prone

2018-01-10 Thread Mark Owens (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16320332#comment-16320332
 ] 

Mark Owens edited comment on ACCUMULO-4158 at 1/10/18 2:35 PM:
---

The two summary files are attached to the ticket above.


was (Author: jmark99):
Here are the two summary files that I've created.

> Investigate using Google's error-prone
> --
>
> Key: ACCUMULO-4158
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4158
> Project: Accumulo
>  Issue Type: Improvement
>  Components: build
>Reporter: Michael Wall
>Assignee: Mark Owens
>Priority: Minor
> Attachments: ep-main.summary, ep-tests.summary
>
>
> Google has a tool at http://errorprone.info.  From that page
> {quote}
> Using Error Prone to augment the compiler’s type analysis, you can catch more 
> mistakes before they cost you time, or end up as bugs in production.
> {quote}
> It requires java 1.8.  In the top level pom, replacing
> {code:xml}
> 
>   maven-compiler-plugin
>   
> ${java.ver}
> ${java.ver}
> true
> true
> true
>   
> 
> {code}
> with
> {code:xml}
> 
>   org.apache.maven.plugins
>   maven-compiler-plugin
>   3.3
>   
> javac-with-errorprone
> true
> 
> ${java.ver}
> ${java.ver}
> 
>   -Xep:ChainingConstructorIgnoresParameter:WARN
>   -Xep:LongLiteralLowerCaseSuffix:OFF
>   -Xep:SizeGreaterThanOrEqualsZero:WARN
>   -Xep:InvalidPatternSyntax:WARN
>   -Xep:TryFailThrowable:WARN
>   -Xep:NonOverridingEquals:OFF
> 
> true
>   
>   
> 
> 
>   com.google.errorprone
>   error_prone_core
>   2.0.8
> 
> 
>   org.codehaus.plexus
>   plexus-compiler-javac-errorprone
>   2.5
> 
>   
> 
> {code}
> in the 1.6 branch and runing 'mvn compile' yielded the following. 
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache Accumulo Project
> [INFO] Apache Accumulo Trace
> [INFO] Apache Accumulo Fate
> [INFO] Apache Accumulo Start
> [INFO] Apache Accumulo Core
> [INFO] Apache Accumulo Simple Examples
> [INFO] Apache Accumulo Server Base
> [INFO] Apache Accumulo GC Server
> [INFO] Apache Accumulo Master Server
> [INFO] Apache Accumulo Monitor Server
> [INFO] Apache Accumulo Tracer Server
> [INFO] Apache Accumulo Tablet Server
> [INFO] Apache Accumulo MiniCluster
> [INFO] Apache Accumulo Native Libraries
> [INFO] Apache Accumulo Testing
> [INFO] Apache Accumulo Proxy
> [INFO] Apache Accumulo
> [INFO] Apache Accumulo Documentation
> [INFO] Apache Accumulo Maven Plugin
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Project 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Trace 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Fate 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Start 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Core 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ 
> accumulo-core ---
> [INFO] Changes detected - recompiling the module!
> [INFO] Compiling 595 source files to 
> 

[jira] [Updated] (ACCUMULO-4158) Investigate using Google's error-prone

2018-01-10 Thread Mark Owens (JIRA)

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

Mark Owens updated ACCUMULO-4158:
-
Attachment: ep-main.summary
ep-tests.summary

Here are the two summary files that I've created.

> Investigate using Google's error-prone
> --
>
> Key: ACCUMULO-4158
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4158
> Project: Accumulo
>  Issue Type: Improvement
>  Components: build
>Reporter: Michael Wall
>Assignee: Mark Owens
>Priority: Minor
> Attachments: ep-main.summary, ep-tests.summary
>
>
> Google has a tool at http://errorprone.info.  From that page
> {quote}
> Using Error Prone to augment the compiler’s type analysis, you can catch more 
> mistakes before they cost you time, or end up as bugs in production.
> {quote}
> It requires java 1.8.  In the top level pom, replacing
> {code:xml}
> 
>   maven-compiler-plugin
>   
> ${java.ver}
> ${java.ver}
> true
> true
> true
>   
> 
> {code}
> with
> {code:xml}
> 
>   org.apache.maven.plugins
>   maven-compiler-plugin
>   3.3
>   
> javac-with-errorprone
> true
> 
> ${java.ver}
> ${java.ver}
> 
>   -Xep:ChainingConstructorIgnoresParameter:WARN
>   -Xep:LongLiteralLowerCaseSuffix:OFF
>   -Xep:SizeGreaterThanOrEqualsZero:WARN
>   -Xep:InvalidPatternSyntax:WARN
>   -Xep:TryFailThrowable:WARN
>   -Xep:NonOverridingEquals:OFF
> 
> true
>   
>   
> 
> 
>   com.google.errorprone
>   error_prone_core
>   2.0.8
> 
> 
>   org.codehaus.plexus
>   plexus-compiler-javac-errorprone
>   2.5
> 
>   
> 
> {code}
> in the 1.6 branch and runing 'mvn compile' yielded the following. 
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache Accumulo Project
> [INFO] Apache Accumulo Trace
> [INFO] Apache Accumulo Fate
> [INFO] Apache Accumulo Start
> [INFO] Apache Accumulo Core
> [INFO] Apache Accumulo Simple Examples
> [INFO] Apache Accumulo Server Base
> [INFO] Apache Accumulo GC Server
> [INFO] Apache Accumulo Master Server
> [INFO] Apache Accumulo Monitor Server
> [INFO] Apache Accumulo Tracer Server
> [INFO] Apache Accumulo Tablet Server
> [INFO] Apache Accumulo MiniCluster
> [INFO] Apache Accumulo Native Libraries
> [INFO] Apache Accumulo Testing
> [INFO] Apache Accumulo Proxy
> [INFO] Apache Accumulo
> [INFO] Apache Accumulo Documentation
> [INFO] Apache Accumulo Maven Plugin
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Project 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Trace 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Fate 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Start 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Core 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ 
> accumulo-core ---
> [INFO] Changes detected - recompiling the module!
> [INFO] Compiling 595 source files to 
> /Users/mjwall/NetBeansProjects/accumulo-mjwall/core/target/classes
> 

[jira] [Commented] (ACCUMULO-4158) Investigate using Google's error-prone

2018-01-10 Thread Mark Owens (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16320329#comment-16320329
 ] 

Mark Owens commented on ACCUMULO-4158:
--

[~ctubbsii], I agree that it would best be used as a development tool. I was 
interested in seeing what types of issues it would discover. I created a new 
maven profile to run error-prone displaying all findings as warnings. I created 
a couple of summary files displaying the results that I'll attach in case 
anyone is interested in viewing them. There was no editing of bug-issues in 
these runs. All issues that error-prone thinks should be examined are displayed.

Some of the warnings such are LongLiteralLowerCaseSuffix, i.e., using capital 
'L' for longs, aren't critical but they do add to consistentcy in the look of 
the code base. Additionally, for older guys such as myself, whose eyesight is 
not what is used to be, using a capital does make parsing the code much easier 
:)

If we decided to use an error-prone profile as a dev tool we could come to a 
consensus as to how to manage the error-prone bug list. There are options to 
display everything as a warning rather than an error, as well as options to 
turn off any particular bug-check completely. You can also convert any warning 
to error, or vice-versa. It can also be set to ignore issues in generated code.

There is also a feature that allows error-prone to create patches that can be 
used to update the code with selected fixes. For instance, for testing 
purposes, I ran a patch to add all missing Override annotations to the code. An 
error-prone profile could be used to enforce this convention in future code as 
this can be flagged as an error, see 
(https://issues.apache.org/jira/browse/ACCUMULO-2537).

I've heard of Spotbugs but have not taken a look as of yet. I'll look into it.


> Investigate using Google's error-prone
> --
>
> Key: ACCUMULO-4158
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4158
> Project: Accumulo
>  Issue Type: Improvement
>  Components: build
>Reporter: Michael Wall
>Assignee: Mark Owens
>Priority: Minor
>
> Google has a tool at http://errorprone.info.  From that page
> {quote}
> Using Error Prone to augment the compiler’s type analysis, you can catch more 
> mistakes before they cost you time, or end up as bugs in production.
> {quote}
> It requires java 1.8.  In the top level pom, replacing
> {code:xml}
> 
>   maven-compiler-plugin
>   
> ${java.ver}
> ${java.ver}
> true
> true
> true
>   
> 
> {code}
> with
> {code:xml}
> 
>   org.apache.maven.plugins
>   maven-compiler-plugin
>   3.3
>   
> javac-with-errorprone
> true
> 
> ${java.ver}
> ${java.ver}
> 
>   -Xep:ChainingConstructorIgnoresParameter:WARN
>   -Xep:LongLiteralLowerCaseSuffix:OFF
>   -Xep:SizeGreaterThanOrEqualsZero:WARN
>   -Xep:InvalidPatternSyntax:WARN
>   -Xep:TryFailThrowable:WARN
>   -Xep:NonOverridingEquals:OFF
> 
> true
>   
>   
> 
> 
>   com.google.errorprone
>   error_prone_core
>   2.0.8
> 
> 
>   org.codehaus.plexus
>   plexus-compiler-javac-errorprone
>   2.5
> 
>   
> 
> {code}
> in the 1.6 branch and runing 'mvn compile' yielded the following. 
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache Accumulo Project
> [INFO] Apache Accumulo Trace
> [INFO] Apache Accumulo Fate
> [INFO] Apache Accumulo Start
> [INFO] Apache Accumulo Core
> [INFO] Apache Accumulo Simple Examples
> [INFO] Apache Accumulo Server Base
> [INFO] Apache Accumulo GC Server
> [INFO] Apache Accumulo Master Server
> [INFO] Apache Accumulo Monitor Server
> [INFO] Apache Accumulo Tracer Server
> [INFO] Apache Accumulo Tablet Server
> [INFO] Apache Accumulo MiniCluster
> [INFO] Apache Accumulo Native Libraries
> [INFO] Apache Accumulo Testing
> [INFO] Apache Accumulo Proxy
> [INFO] Apache Accumulo
> [INFO] Apache Accumulo Documentation
> [INFO] Apache Accumulo Maven Plugin
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Project 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]  

[jira] [Commented] (ACCUMULO-4158) Investigate using Google's error-prone

2018-01-10 Thread Christopher Tubbs (JIRA)

[ 
https://issues.apache.org/jira/browse/ACCUMULO-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319963#comment-16319963
 ] 

Christopher Tubbs commented on ACCUMULO-4158:
-

FWIW, Error Prone's own documentation mentions that it overlaps heavily with 
that found by Findbugs, which we already use.

Also, one thing to check for while investigating is that Error Prone has the 
ability to filter out false positives. That's invaluable with Findbugs today.

It may also be worth investigating Spotbugs, the replacement for Findbugs.

If we do end up using Error Prone, I think we should only use it as a 
CI/Developer tool. We should stick to a mainstream compiler like Oracle JDK or 
OpenJDK's javac when building release artifacts. Mainstream means more 
reproducibility and fewer surprises if there's any issues with the binaries as 
a result of the compiler we used.

> Investigate using Google's error-prone
> --
>
> Key: ACCUMULO-4158
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4158
> Project: Accumulo
>  Issue Type: Improvement
>  Components: build
>Reporter: Michael Wall
>Assignee: Mark Owens
>Priority: Minor
>
> Google has a tool at http://errorprone.info.  From that page
> {quote}
> Using Error Prone to augment the compiler’s type analysis, you can catch more 
> mistakes before they cost you time, or end up as bugs in production.
> {quote}
> It requires java 1.8.  In the top level pom, replacing
> {code:xml}
> 
>   maven-compiler-plugin
>   
> ${java.ver}
> ${java.ver}
> true
> true
> true
>   
> 
> {code}
> with
> {code:xml}
> 
>   org.apache.maven.plugins
>   maven-compiler-plugin
>   3.3
>   
> javac-with-errorprone
> true
> 
> ${java.ver}
> ${java.ver}
> 
>   -Xep:ChainingConstructorIgnoresParameter:WARN
>   -Xep:LongLiteralLowerCaseSuffix:OFF
>   -Xep:SizeGreaterThanOrEqualsZero:WARN
>   -Xep:InvalidPatternSyntax:WARN
>   -Xep:TryFailThrowable:WARN
>   -Xep:NonOverridingEquals:OFF
> 
> true
>   
>   
> 
> 
>   com.google.errorprone
>   error_prone_core
>   2.0.8
> 
> 
>   org.codehaus.plexus
>   plexus-compiler-javac-errorprone
>   2.5
> 
>   
> 
> {code}
> in the 1.6 branch and runing 'mvn compile' yielded the following. 
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] Apache Accumulo Project
> [INFO] Apache Accumulo Trace
> [INFO] Apache Accumulo Fate
> [INFO] Apache Accumulo Start
> [INFO] Apache Accumulo Core
> [INFO] Apache Accumulo Simple Examples
> [INFO] Apache Accumulo Server Base
> [INFO] Apache Accumulo GC Server
> [INFO] Apache Accumulo Master Server
> [INFO] Apache Accumulo Monitor Server
> [INFO] Apache Accumulo Tracer Server
> [INFO] Apache Accumulo Tablet Server
> [INFO] Apache Accumulo MiniCluster
> [INFO] Apache Accumulo Native Libraries
> [INFO] Apache Accumulo Testing
> [INFO] Apache Accumulo Proxy
> [INFO] Apache Accumulo
> [INFO] Apache Accumulo Documentation
> [INFO] Apache Accumulo Maven Plugin
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Project 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Trace 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Fate 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]
>  
> [INFO] 
> 
> [INFO] Building Apache Accumulo Start 1.6.6-SNAPSHOT
> [INFO] 
> 
> ...
> [INFO]