hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-11912) Catch some bad practices at compile time with error-prone
Date Sat, 25 Oct 2014 17:13:34 GMT

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

Andrew Purtell updated HBASE-11912:
    Attachment: HBASE-11912.patch

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

View raw message