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

Andrew Purtell edited comment on HBASE-11912 at 10/25/14 5:17 PM:
------------------------------------------------------------------

Found the problem. I made some changes to ClusterStatus in this patch to fix 
error-prone ERRORs that had unintended consequences only exposed by 
TestHBaseFsck, nobody else asks for the dead server list from a ClusterStatus 
unpacked from protobuf except integration tests.

Attaching updated patch.

I also went back and minimized further the changes in this patch to 
TestHBaseFsck for setting detailed logging: rather than convert some static 
method callers to static invocations I just dropped the 'static' qualifier from 
the relevant hbck method, none of the others like it are declared static. So 
it's a one line change instead of ~10. 

Kicking off a Jenkins run.


was (Author: apurtell):
Found the problem. I made some changes to ClusterStatus in this patch to fix 
error-prone ERRORs that had unintended consequences only exposed by 
TestHBaseFsck, nobody else asks for the dead server list from a ClusterStatus 
unpacked from protobuf.

Attaching updated patch.

I also went back and minimized further the changes in this patch to 
TestHBaseFsck for setting detailed logging: rather than convert some static 
method callers to static invocations I just dropped the 'static' qualifier from 
the relevant hbck method, none of the others like it are declared static. So 
it's a one line change instead of ~10. 

Kicking off a Jenkins run.

> Catch some bad practices at compile time with error-prone
> ---------------------------------------------------------
>
>                 Key: HBASE-11912
>                 URL: https://issues.apache.org/jira/browse/HBASE-11912
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>         Attachments: HBASE-11912.patch, HBASE-11912.patch, HBASE-11912.patch, 
> HBASE-11912.patch
>
>
> Google's error-prone (https://code.google.com/p/error-prone/) wraps javac 
> with some additional static analysis that will generate additional warnings 
> or errors at compile time if certain bug patterns 
> (https://code.google.com/p/error-prone/wiki/BugPatterns) are detected. What's 
> nice about this approach, as opposed to findbugs, is the compile time 
> detection and erroring out prevent the detected problems from getting into 
> the codebase up front.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to