HBASE-20707 Move MissingSwitchDefault case check

Perform this check using error-prone instead of checkstyle because the
former can handle enum switches somewhat more intelligently.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/eb13cdd7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/eb13cdd7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/eb13cdd7

Branch: refs/heads/HBASE-20331
Commit: eb13cdd7edd8a53fb7d5c724875fcce2db202b87
Parents: 573b57d
Author: Mike Drob <md...@apache.org>
Authored: Fri Jun 8 16:57:15 2018 -0500
Committer: Mike Drob <md...@apache.org>
Committed: Mon Jun 11 09:57:50 2018 -0500

----------------------------------------------------------------------
 hbase-build-configuration/pom.xml                                | 1 +
 hbase-checkstyle/src/main/resources/hbase/checkstyle.xml         | 1 -
 .../src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java  | 2 +-
 .../src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java  | 2 ++
 .../hadoop/hbase/security/visibility/ExpressionParser.java       | 3 ++-
 .../apache/hadoop/hbase/master/TestClusterStatusPublisher.java   | 1 +
 .../hadoop/hbase/master/assignment/TestAssignmentManager.java    | 4 ++++
 7 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-build-configuration/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/pom.xml 
b/hbase-build-configuration/pom.xml
index 311b1c0..a617083 100644
--- a/hbase-build-configuration/pom.xml
+++ b/hbase-build-configuration/pom.xml
@@ -83,6 +83,7 @@
                 <arg>-XepDisableWarningsInGeneratedCode</arg>
                 <arg>-Xep:FallThrough:OFF</arg> <!-- already in findbugs -->
                 <arg>-Xep:ClassNewInstance:ERROR</arg>
+                <arg>-Xep:MissingDefault:ERROR</arg>
               </compilerArgs>
               <annotationProcessorPaths>
                 <path>

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
----------------------------------------------------------------------
diff --git a/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml 
b/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
index b61e79b..7ad797c 100644
--- a/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
+++ b/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
@@ -61,7 +61,6 @@
     <module name="EqualsHashCode"/>
     <module name="IllegalInstantiation"/>
     <module name="InnerAssignment"/>
-    <module name="MissingSwitchDefault"/>
     <module name="NoFinalizer"/>
 
     <!-- Import Checks

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java
index 6f9b980..76681ea 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JenkinsHash.java
@@ -101,7 +101,7 @@ public class JenkinsHash extends Hash {
    * <p>Use for hash table lookup, or anything where one collision in 2^^32 is
    * acceptable.  Do NOT use for cryptographic purposes.
   */
-  @SuppressWarnings("fallthrough")
+  @SuppressWarnings({"fallthrough", "MissingDefault"})
   @Override
   public <T> int hash(HashKey<T> hashKey, int initval) {
     int length = hashKey.length();

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-common/src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java
index f85b98c..0017e9f 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/MurmurHash3.java
@@ -78,6 +78,8 @@ public class MurmurHash3 extends Hash {
       k1 = (k1 << 15) | (k1 >>> 17); // ROTL32(k1,15);
       k1 *= c2;
       h1 ^= k1;
+    default:
+      // fall out
     }
 
     // finalization

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ExpressionParser.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ExpressionParser.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ExpressionParser.java
index c2dd046..313e880 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ExpressionParser.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ExpressionParser.java
@@ -306,7 +306,8 @@ public class ExpressionParser {
       return Operator.OR;
     case NOT:
       return Operator.NOT;
+    default:
+      return null;
     }
-    return null;
   }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java
index 44c6d8e..d8cbc0f 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java
@@ -62,6 +62,7 @@ public class TestClusterStatusPublisher {
   @Test
   public void testMaxSend() {
     ClusterStatusPublisher csp = new ClusterStatusPublisher() {
+      @SuppressWarnings("MissingDefault")
       @Override
       protected List<Pair<ServerName, Long>> getDeadServers(long since) {
         List<Pair<ServerName, Long>> res = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/hbase/blob/eb13cdd7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java
index a5e7135..0aac4c7 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java
@@ -765,6 +765,8 @@ public class TestAssignmentManager {
         case 0: throw new ServerNotRunningYetException("wait on server 
startup");
         case 1: throw new SocketTimeoutException("simulate socket timeout");
         case 2: throw new RemoteException("java.io.IOException", "unexpected 
exception");
+        default:
+          // fall out
       }
       return super.sendRequest(server, req);
     }
@@ -785,6 +787,8 @@ public class TestAssignmentManager {
           LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING 
response");
           sendTransitionReport(server, openReq.getRegion(), 
TransitionCode.FAILED_OPEN);
           return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;
+        default:
+          // fall out
       }
       // The procedure on master will just hang forever because nothing comes 
back
       // from the RS in this case.

Reply via email to