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.