You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2017/12/18 12:46:40 UTC

[08/26] hbase git commit: HBASE-19498 Fix findbugs and error-prone warnings in hbase-client (branch-2)

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java
index 1a1248e..7fea6e5 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java
@@ -87,7 +87,8 @@ public class RandomRowFilter extends FilterBase {
   public boolean filterRow() {
     return filterOutRow;
   }
-  
+
+  @Override
   public boolean hasFilterRow() {
     return true;
   }
@@ -115,6 +116,7 @@ public class RandomRowFilter extends FilterBase {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte [] toByteArray() {
     FilterProtos.RandomRowFilter.Builder builder =
       FilterProtos.RandomRowFilter.newBuilder();
@@ -144,6 +146,7 @@ public class RandomRowFilter extends FilterBase {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof RandomRowFilter)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
index bfd88b9..88ff6c1 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
@@ -114,6 +114,7 @@ public class RowFilter extends CompareFilter {
  /**
   * @return The filter serialized using pb
   */
+  @Override
   public byte [] toByteArray() {
     FilterProtos.RowFilter.Builder builder =
       FilterProtos.RowFilter.newBuilder();
@@ -152,6 +153,7 @@ public class RowFilter extends CompareFilter {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof RowFilter)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
index 677cff9..f39834a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
@@ -156,6 +156,7 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
   }
 
   // We cleaned result row in FilterRow to be consistent with scanning process.
+  @Override
   public boolean hasFilterRow() {
    return true;
   }
@@ -190,6 +191,7 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte [] toByteArray() {
     FilterProtos.SingleColumnValueExcludeFilter.Builder builder =
       FilterProtos.SingleColumnValueExcludeFilter.newBuilder();
@@ -232,6 +234,7 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof SingleColumnValueExcludeFilter)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
index 498b58f..d95320a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
@@ -278,16 +278,19 @@ public class SingleColumnValueFilter extends FilterBase {
     return CompareFilter.compare(this.op, compareResult);
   }
 
+  @Override
   public boolean filterRow() {
     // If column was found, return false if it was matched, true if it was not
     // If column not found, return true if we filter if missing, false if not
     return this.foundColumn? !this.matchedColumn: this.filterIfMissing;
   }
   
+  @Override
   public boolean hasFilterRow() {
     return true;
   }
 
+  @Override
   public void reset() {
     foundColumn = false;
     matchedColumn = false;
@@ -387,6 +390,7 @@ public class SingleColumnValueFilter extends FilterBase {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte [] toByteArray() {
     return convert().toByteArray();
   }
@@ -425,6 +429,7 @@ public class SingleColumnValueFilter extends FilterBase {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof SingleColumnValueFilter)) return false;
@@ -443,6 +448,7 @@ public class SingleColumnValueFilter extends FilterBase {
    * column in whole scan. If filterIfMissing == false, all families are essential,
    * because of possibility of skipping the rows without any data in filtered CF.
    */
+  @Override
   public boolean isFamilyEssential(byte[] name) {
     return !this.filterIfMissing || Bytes.equals(name, this.columnFamily);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java
index adfe1c1..d099e32 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java
@@ -96,10 +96,12 @@ public class SkipFilter extends FilterBase {
     return filter.transformCell(v);
   }
 
+  @Override
   public boolean filterRow() {
     return filterRow;
   }
     
+  @Override
   public boolean hasFilterRow() {
     return true;
   }
@@ -107,6 +109,7 @@ public class SkipFilter extends FilterBase {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte[] toByteArray() throws IOException {
     FilterProtos.SkipFilter.Builder builder =
       FilterProtos.SkipFilter.newBuilder();
@@ -140,6 +143,7 @@ public class SkipFilter extends FilterBase {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof SkipFilter)) return false;
@@ -148,6 +152,7 @@ public class SkipFilter extends FilterBase {
     return getFilter().areSerializedFieldsEqual(other.getFilter());
   }
 
+  @Override
   public boolean isFamilyEssential(byte[] name) throws IOException {
     return filter.isFamilyEssential(name);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SubstringComparator.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SubstringComparator.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SubstringComparator.java
index 69d933f..3a33116 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SubstringComparator.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SubstringComparator.java
@@ -70,6 +70,7 @@ public class SubstringComparator extends ByteArrayComparable {
   /**
    * @return The comparator serialized using pb
    */
+  @Override
   public byte [] toByteArray() {
     ComparatorProtos.SubstringComparator.Builder builder =
       ComparatorProtos.SubstringComparator.newBuilder();
@@ -99,6 +100,7 @@ public class SubstringComparator extends ByteArrayComparable {
    * @return true if and only if the fields of the comparator that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(ByteArrayComparable other) {
     if (other == this) return true;
     if (!(other instanceof SubstringComparator)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java
index 2742c7f..e0ec83a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java
@@ -135,6 +135,7 @@ public class TimestampsFilter extends FilterBase {
    *
    * @throws IOException This will never happen.
    */
+  @Override
   public Cell getNextCellHint(Cell currentCell) throws IOException {
     if (!canHint) {
       return null;
@@ -172,6 +173,7 @@ public class TimestampsFilter extends FilterBase {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte[] toByteArray() {
     FilterProtos.TimestampsFilter.Builder builder =
         FilterProtos.TimestampsFilter.newBuilder();
@@ -203,6 +205,7 @@ public class TimestampsFilter extends FilterBase {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof TimestampsFilter)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
index 17de4ff..805d7db 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
@@ -93,6 +93,7 @@ public class ValueFilter extends CompareFilter {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte [] toByteArray() {
     FilterProtos.ValueFilter.Builder builder =
       FilterProtos.ValueFilter.newBuilder();
@@ -128,10 +129,10 @@ public class ValueFilter extends CompareFilter {
   }
 
   /**
-
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof ValueFilter)) return false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java
index ab6200f..a6fa27a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java
@@ -49,6 +49,7 @@ public class WhileMatchFilter extends FilterBase {
     return filter;
   }
 
+  @Override
   public void reset() throws IOException {
     this.filter.reset();
   }
@@ -110,6 +111,7 @@ public class WhileMatchFilter extends FilterBase {
   /**
    * @return The filter serialized using pb
    */
+  @Override
   public byte[] toByteArray() throws IOException {
     FilterProtos.WhileMatchFilter.Builder builder =
       FilterProtos.WhileMatchFilter.newBuilder();
@@ -143,6 +145,7 @@ public class WhileMatchFilter extends FilterBase {
    * @return true if and only if the fields of the filter that are serialized
    * are equal to the corresponding fields in other.  Used for testing.
    */
+  @Override
   boolean areSerializedFieldsEqual(Filter o) {
     if (o == this) return true;
     if (!(o instanceof WhileMatchFilter)) return false;
@@ -151,6 +154,7 @@ public class WhileMatchFilter extends FilterBase {
     return getFilter().areSerializedFieldsEqual(other.getFilter());
   }
 
+  @Override
   public boolean isFamilyEssential(byte[] name) throws IOException {
     return filter.isFamilyEssential(name);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
index 22da05a..0e7f376 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
@@ -243,7 +243,7 @@ public abstract class AbstractRpcClient<T extends RpcConnection> implements RpcC
       return null;
     }
     try {
-      return (Codec) Class.forName(className).newInstance();
+      return (Codec) Class.forName(className).getDeclaredConstructor().newInstance();
     } catch (Exception e) {
       throw new RuntimeException("Failed getting codec " + className, e);
     }
@@ -271,7 +271,7 @@ public abstract class AbstractRpcClient<T extends RpcConnection> implements RpcC
       return null;
     }
     try {
-      return (CompressionCodec) Class.forName(className).newInstance();
+      return (CompressionCodec) Class.forName(className).getDeclaredConstructor().newInstance();
     } catch (Exception e) {
       throw new RuntimeException("Failed getting compressor " + className, e);
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcClient.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcClient.java
index 2512d7b..8ab20ff 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcClient.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcClient.java
@@ -67,6 +67,7 @@ public class BlockingRpcClient extends AbstractRpcClient<BlockingRpcConnection>
    * Creates a connection. Can be overridden by a subclass for testing.
    * @param remoteId - the ConnectionId to use for the connection creation.
    */
+  @Override
   protected BlockingRpcConnection createConnection(ConnectionId remoteId) throws IOException {
     return new BlockingRpcConnection(this, remoteId);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java
index b50d423..1396f1e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -18,9 +18,10 @@
 package org.apache.hadoop.hbase.ipc;
 
 import java.net.InetSocketAddress;
+import java.util.Objects;
 
-import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.hadoop.hbase.security.User;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This class holds the address and the user ticket, etc. The client connections
@@ -62,8 +63,7 @@ class ConnectionId {
       ConnectionId id = (ConnectionId) obj;
       return address.equals(id.address) &&
             ((ticket != null && ticket.equals(id.ticket)) ||
-             (ticket == id.ticket)) &&
-             this.serviceName == id.serviceName;
+             (ticket == id.ticket)) && Objects.equals(this.serviceName, id.serviceName);
     }
     return false;
   }
@@ -73,7 +73,7 @@ class ConnectionId {
     return hashCode(ticket,serviceName,address);
   }
 
-  public static int hashCode(User ticket, String serviceName, InetSocketAddress address){
+  public static int hashCode(User ticket, String serviceName, InetSocketAddress address) {
     return (address.hashCode() +
         PRIME * (PRIME * serviceName.hashCode() ^
             (ticket == null ? 0 : ticket.hashCode())));

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java
index 3cd0b4c..5d1634a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java
@@ -85,6 +85,7 @@ public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {
     }
   }
 
+  @Override
   public void close() throws IOException {
     if (this.table != null) {
       this.table.close();

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerRunningException.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerRunningException.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerRunningException.java
index b3a4cd3..6ff3e0d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerRunningException.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerRunningException.java
@@ -28,7 +28,7 @@ import org.apache.yetus.audience.InterfaceAudience;
  */
 @InterfaceAudience.Public
 public class RegionServerRunningException extends IOException {
-  private static final long serialVersionUID = 1L << 31 - 1L;
+  private static final long serialVersionUID = (1L << 31) - 1L;
 
   /** Default Constructor */
   public RegionServerRunningException() {

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java
index b367874..b30715a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java
@@ -18,6 +18,7 @@
  */
 package org.apache.hadoop.hbase.security;
 
+import java.nio.charset.StandardCharsets;
 import java.util.Map;
 import java.util.TreeMap;
 
@@ -68,15 +69,15 @@ public class SaslUtil {
   }
 
   static String encodeIdentifier(byte[] identifier) {
-    return new String(Base64.encodeBase64(identifier));
+    return new String(Base64.encodeBase64(identifier), StandardCharsets.UTF_8);
   }
 
   static byte[] decodeIdentifier(String identifier) {
-    return Base64.decodeBase64(identifier.getBytes());
+    return Base64.decodeBase64(identifier.getBytes(StandardCharsets.UTF_8));
   }
 
   static char[] encodePassword(byte[] password) {
-    return new String(Base64.encodeBase64(password)).toCharArray();
+    return new String(Base64.encodeBase64(password), StandardCharsets.UTF_8).toCharArray();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java
index c9c587e..7ff311e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java
@@ -46,7 +46,7 @@ public class Permission extends VersionedWritable {
   public enum Action {
     READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A');
 
-    private byte code;
+    private final byte code;
     Action(char code) {
       this.code = (byte)code;
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java
index ba1f1f2..35564d6 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java
@@ -19,13 +19,15 @@ package org.apache.hadoop.hbase.security.visibility;
 
 import static org.apache.hadoop.hbase.security.visibility.VisibilityConstants.LABELS_TABLE_NAME;
 
+import com.google.protobuf.ByteString;
+import com.google.protobuf.ServiceException;
+
 import java.io.IOException;
 import java.util.Map;
 import java.util.regex.Pattern;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.ConnectionFactory;
 import org.apache.hadoop.hbase.client.Table;
@@ -44,9 +46,8 @@ import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.Visibil
 import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;
 import org.apache.hadoop.hbase.util.ByteStringer;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import com.google.protobuf.ByteString;
-import com.google.protobuf.ServiceException;
 
 /**
  * Utility client for doing visibility labels admin operations.
@@ -122,35 +123,34 @@ public class VisibilityClient {
    */
   public static VisibilityLabelsResponse addLabels(Connection connection, final String[] labels)
       throws Throwable {
-
     try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
       Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse> callable =
           new Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse>() {
-            ServerRpcController controller = new ServerRpcController();
-            CoprocessorRpcUtils.BlockingRpcCallback<VisibilityLabelsResponse> rpcCallback =
-                new CoprocessorRpcUtils.BlockingRpcCallback<>();
+        ServerRpcController controller = new ServerRpcController();
+        CoprocessorRpcUtils.BlockingRpcCallback<VisibilityLabelsResponse> rpcCallback =
+            new CoprocessorRpcUtils.BlockingRpcCallback<>();
 
-            public VisibilityLabelsResponse call(VisibilityLabelsService service)
-                throws IOException {
-              VisibilityLabelsRequest.Builder builder = VisibilityLabelsRequest.newBuilder();
-              for (String label : labels) {
-                if (label.length() > 0) {
-                  VisibilityLabel.Builder newBuilder = VisibilityLabel.newBuilder();
-                  newBuilder.setLabel(ByteStringer.wrap(Bytes.toBytes(label)));
-                  builder.addVisLabel(newBuilder.build());
-                }
-              }
-              service.addLabels(controller, builder.build(), rpcCallback);
-              VisibilityLabelsResponse response = rpcCallback.get();
-              if (controller.failedOnException()) {
-                throw controller.getFailedOn();
-              }
-              return response;
+        @Override
+        public VisibilityLabelsResponse call(VisibilityLabelsService service) throws IOException {
+          VisibilityLabelsRequest.Builder builder = VisibilityLabelsRequest.newBuilder();
+          for (String label : labels) {
+            if (label.length() > 0) {
+              VisibilityLabel.Builder newBuilder = VisibilityLabel.newBuilder();
+              newBuilder.setLabel(ByteStringer.wrap(Bytes.toBytes(label)));
+              builder.addVisLabel(newBuilder.build());
             }
-          };
+          }
+          service.addLabels(controller, builder.build(), rpcCallback);
+          VisibilityLabelsResponse response = rpcCallback.get();
+          if (controller.failedOnException()) {
+            throw controller.getFailedOn();
+          }
+          return response;
+        }
+      };
       Map<byte[], VisibilityLabelsResponse> result =
           table.coprocessorService(VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY,
-            HConstants.EMPTY_BYTE_ARRAY, callable);
+              HConstants.EMPTY_BYTE_ARRAY, callable);
       return result.values().iterator().next(); // There will be exactly one region for labels
       // table and so one entry in result Map.
     }
@@ -208,30 +208,31 @@ public class VisibilityClient {
    */
   public static GetAuthsResponse getAuths(Connection connection, final String user)
       throws Throwable {
-      try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
-        Batch.Call<VisibilityLabelsService, GetAuthsResponse> callable =
-            new Batch.Call<VisibilityLabelsService, GetAuthsResponse>() {
-          ServerRpcController controller = new ServerRpcController();
-          CoprocessorRpcUtils.BlockingRpcCallback<GetAuthsResponse> rpcCallback =
-              new CoprocessorRpcUtils.BlockingRpcCallback<>();
+    try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
+      Batch.Call<VisibilityLabelsService, GetAuthsResponse> callable =
+          new Batch.Call<VisibilityLabelsService, GetAuthsResponse>() {
+        ServerRpcController controller = new ServerRpcController();
+        CoprocessorRpcUtils.BlockingRpcCallback<GetAuthsResponse> rpcCallback =
+            new CoprocessorRpcUtils.BlockingRpcCallback<>();
 
-          public GetAuthsResponse call(VisibilityLabelsService service) throws IOException {
-            GetAuthsRequest.Builder getAuthReqBuilder = GetAuthsRequest.newBuilder();
-            getAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));
-            service.getAuths(controller, getAuthReqBuilder.build(), rpcCallback);
-            GetAuthsResponse response = rpcCallback.get();
-            if (controller.failedOnException()) {
-              throw controller.getFailedOn();
-            }
-            return response;
+        @Override
+        public GetAuthsResponse call(VisibilityLabelsService service) throws IOException {
+          GetAuthsRequest.Builder getAuthReqBuilder = GetAuthsRequest.newBuilder();
+          getAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));
+          service.getAuths(controller, getAuthReqBuilder.build(), rpcCallback);
+          GetAuthsResponse response = rpcCallback.get();
+          if (controller.failedOnException()) {
+            throw controller.getFailedOn();
           }
-        };
-        Map<byte[], GetAuthsResponse> result =
-          table.coprocessorService(VisibilityLabelsService.class,
-            HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY, callable);
-        return result.values().iterator().next(); // There will be exactly one region for labels
-        // table and so one entry in result Map.
-      }
+          return response;
+        }
+      };
+      Map<byte[], GetAuthsResponse> result =
+          table.coprocessorService(VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY,
+              HConstants.EMPTY_BYTE_ARRAY, callable);
+      return result.values().iterator().next(); // There will be exactly one region for labels
+      // table and so one entry in result Map.
+    }
   }
 
   /**
@@ -262,28 +263,29 @@ public class VisibilityClient {
     try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
       Batch.Call<VisibilityLabelsService, ListLabelsResponse> callable =
           new Batch.Call<VisibilityLabelsService, ListLabelsResponse>() {
-            ServerRpcController controller = new ServerRpcController();
-            CoprocessorRpcUtils.BlockingRpcCallback<ListLabelsResponse> rpcCallback =
-                new CoprocessorRpcUtils.BlockingRpcCallback<>();
+        ServerRpcController controller = new ServerRpcController();
+        CoprocessorRpcUtils.BlockingRpcCallback<ListLabelsResponse> rpcCallback =
+            new CoprocessorRpcUtils.BlockingRpcCallback<>();
 
-            public ListLabelsResponse call(VisibilityLabelsService service) throws IOException {
-              ListLabelsRequest.Builder listAuthLabelsReqBuilder = ListLabelsRequest.newBuilder();
-              if (regex != null) {
-                // Compile the regex here to catch any regex exception earlier.
-                Pattern pattern = Pattern.compile(regex);
-                listAuthLabelsReqBuilder.setRegex(pattern.toString());
-              }
-              service.listLabels(controller, listAuthLabelsReqBuilder.build(), rpcCallback);
-              ListLabelsResponse response = rpcCallback.get();
-              if (controller.failedOnException()) {
-                throw controller.getFailedOn();
-              }
-              return response;
-            }
-          };
+        @Override
+        public ListLabelsResponse call(VisibilityLabelsService service) throws IOException {
+          ListLabelsRequest.Builder listAuthLabelsReqBuilder = ListLabelsRequest.newBuilder();
+          if (regex != null) {
+            // Compile the regex here to catch any regex exception earlier.
+            Pattern pattern = Pattern.compile(regex);
+            listAuthLabelsReqBuilder.setRegex(pattern.toString());
+          }
+          service.listLabels(controller, listAuthLabelsReqBuilder.build(), rpcCallback);
+          ListLabelsResponse response = rpcCallback.get();
+          if (controller.failedOnException()) {
+            throw controller.getFailedOn();
+          }
+          return response;
+        }
+      };
       Map<byte[], ListLabelsResponse> result =
           table.coprocessorService(VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY,
-            HConstants.EMPTY_BYTE_ARRAY, callable);
+              HConstants.EMPTY_BYTE_ARRAY, callable);
       return result.values().iterator().next(); // There will be exactly one region for labels
       // table and so one entry in result Map.
     }
@@ -321,40 +323,41 @@ public class VisibilityClient {
 
   private static VisibilityLabelsResponse setOrClearAuths(Connection connection,
       final String[] auths, final String user, final boolean setOrClear)
-          throws IOException, ServiceException, Throwable {
+      throws IOException, ServiceException, Throwable {
 
-      try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
-        Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse> callable =
-            new Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse>() {
-          ServerRpcController controller = new ServerRpcController();
-          CoprocessorRpcUtils.BlockingRpcCallback<VisibilityLabelsResponse> rpcCallback =
-              new CoprocessorRpcUtils.BlockingRpcCallback<>();
+    try (Table table = connection.getTable(LABELS_TABLE_NAME)) {
+      Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse> callable =
+          new Batch.Call<VisibilityLabelsService, VisibilityLabelsResponse>() {
+        ServerRpcController controller = new ServerRpcController();
+        CoprocessorRpcUtils.BlockingRpcCallback<VisibilityLabelsResponse> rpcCallback =
+            new CoprocessorRpcUtils.BlockingRpcCallback<>();
 
-          public VisibilityLabelsResponse call(VisibilityLabelsService service) throws IOException {
-            SetAuthsRequest.Builder setAuthReqBuilder = SetAuthsRequest.newBuilder();
-            setAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));
-            for (String auth : auths) {
-              if (auth.length() > 0) {
-                setAuthReqBuilder.addAuth((ByteString.copyFromUtf8(auth)));
-              }
+        @Override
+        public VisibilityLabelsResponse call(VisibilityLabelsService service) throws IOException {
+          SetAuthsRequest.Builder setAuthReqBuilder = SetAuthsRequest.newBuilder();
+          setAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));
+          for (String auth : auths) {
+            if (auth.length() > 0) {
+              setAuthReqBuilder.addAuth((ByteString.copyFromUtf8(auth)));
             }
-            if (setOrClear) {
-              service.setAuths(controller, setAuthReqBuilder.build(), rpcCallback);
-            } else {
-              service.clearAuths(controller, setAuthReqBuilder.build(), rpcCallback);
-            }
-            VisibilityLabelsResponse response = rpcCallback.get();
-            if (controller.failedOnException()) {
-              throw controller.getFailedOn();
-            }
-            return response;
           }
-        };
-        Map<byte[], VisibilityLabelsResponse> result = table.coprocessorService(
-            VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY,
-            callable);
-        return result.values().iterator().next(); // There will be exactly one region for labels
-        // table and so one entry in result Map.
-      }
+          if (setOrClear) {
+            service.setAuths(controller, setAuthReqBuilder.build(), rpcCallback);
+          } else {
+            service.clearAuths(controller, setAuthReqBuilder.build(), rpcCallback);
+          }
+          VisibilityLabelsResponse response = rpcCallback.get();
+          if (controller.failedOnException()) {
+            throw controller.getFailedOn();
+          }
+          return response;
+        }
+      };
+      Map<byte[], VisibilityLabelsResponse> result = table.coprocessorService(
+          VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY,
+          callable);
+      return result.values().iterator().next(); // There will be exactly one region for labels
+      // table and so one entry in result Map.
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java
index 1d938c2..305ec4d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java
@@ -417,7 +417,7 @@ public final class ResponseConverter {
 
   public static Map<String, Long> getScanMetrics(ScanResponse response) {
     Map<String, Long> metricMap = new HashMap<>();
-    if (response == null || !response.hasScanMetrics() || response.getScanMetrics() == null) {
+    if (response == null || !response.hasScanMetrics()) {
       return metricMap;
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
index d7eb2bc..f174c96 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
@@ -298,7 +298,7 @@ public class PoolMap<K, V> implements Map<K, V> {
    *          the type of the resource
    */
   @SuppressWarnings("serial")
-  public class ReusablePool<R> extends ConcurrentLinkedQueue<R> implements Pool<R> {
+  public static class ReusablePool<R> extends ConcurrentLinkedQueue<R> implements Pool<R> {
     private int maxSize;
 
     public ReusablePool(int maxSize) {
@@ -342,7 +342,7 @@ public class PoolMap<K, V> implements Map<K, V> {
    *
    */
   @SuppressWarnings("serial")
-  class RoundRobinPool<R> extends CopyOnWriteArrayList<R> implements Pool<R> {
+  static class RoundRobinPool<R> extends CopyOnWriteArrayList<R> implements Pool<R> {
     private int maxSize;
     private int nextResource = 0;
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java
index cfbfccb..976dfad 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java
@@ -20,6 +20,8 @@ package org.apache.hadoop.hbase;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
+import java.nio.charset.StandardCharsets;
+
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.exceptions.HBaseException;
 import org.apache.hadoop.hbase.io.compress.Compression;
@@ -32,13 +34,17 @@ import org.apache.hadoop.hbase.testclassification.MiscTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.util.BuilderStyleTest;
 import org.junit.Assert;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
 
 /** Tests the HColumnDescriptor with appropriate arguments */
 @Category({MiscTests.class, SmallTests.class})
 @Deprecated
 public class TestHColumnDescriptor {
+  @Rule
+  public ExpectedException expectedEx = ExpectedException.none();
   @Test
   public void testPb() throws DeserializationException {
     HColumnDescriptor hcd = new HColumnDescriptor(
@@ -87,15 +93,14 @@ public class TestHColumnDescriptor {
     assertEquals(v, deserializedHcd.getDFSReplication());
   }
 
+  /**
+   * Tests HColumnDescriptor with empty familyName
+   */
   @Test
-  /** Tests HColumnDescriptor with empty familyName*/
-  public void testHColumnDescriptorShouldThrowIAEWhenFamiliyNameEmpty()
-      throws Exception {
-    try {
-      new HColumnDescriptor("".getBytes());
-    } catch (IllegalArgumentException e) {
-      assertEquals("Column Family name can not be empty", e.getLocalizedMessage());
-    }
+  public void testHColumnDescriptorShouldThrowIAEWhenFamilyNameEmpty() throws Exception {
+    expectedEx.expect(IllegalArgumentException.class);
+    expectedEx.expectMessage("Column Family name can not be empty");
+    new HColumnDescriptor("".getBytes(StandardCharsets.UTF_8));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java
index 9bbdf50..c8a3957 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java
@@ -108,7 +108,7 @@ public class TestHTableDescriptor {
     assertEquals(v, deserializedHtd.getMaxFileSize());
     assertTrue(deserializedHtd.isReadOnly());
     assertEquals(Durability.ASYNC_WAL, deserializedHtd.getDurability());
-    assertEquals(deserializedHtd.getRegionReplication(), 2);
+    assertEquals(2, deserializedHtd.getRegionReplication());
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
index 4d92404..7b5aa5c 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
@@ -75,14 +75,14 @@ public class TestInterfaceAudienceAnnotations {
   private static final Log LOG = LogFactory.getLog(TestInterfaceAudienceAnnotations.class);
 
   /** Selects classes with generated in their package name */
-  class GeneratedClassFilter implements ClassFinder.ClassFilter {
+  static class GeneratedClassFilter implements ClassFinder.ClassFilter {
     @Override
     public boolean isCandidateClass(Class<?> c) {
       return c.getPackage().getName().contains("generated");
     }
   }
 
-  class ShadedProtobufClassFilter implements ClassFinder.ClassFilter {
+  static class ShadedProtobufClassFilter implements ClassFinder.ClassFilter {
     @Override
     public boolean isCandidateClass(Class<?> c) {
       return c.getPackage().getName().
@@ -242,7 +242,7 @@ public class TestInterfaceAudienceAnnotations {
   }
 
   /** Selects classes that are declared public */
-  class PublicClassFilter implements ClassFinder.ClassFilter {
+  static class PublicClassFilter implements ClassFinder.ClassFilter {
     @Override
     public boolean isCandidateClass(Class<?> c) {
       int mod = c.getModifiers();
@@ -251,7 +251,7 @@ public class TestInterfaceAudienceAnnotations {
   }
 
   /** Selects paths (jars and class dirs) only from the main code, not test classes */
-  class MainCodeResourcePathFilter implements ClassFinder.ResourcePathFilter {
+  static class MainCodeResourcePathFilter implements ClassFinder.ResourcePathFilter {
     @Override
     public boolean isCandidatePath(String resourcePath, boolean isJar) {
       return !resourcePath.contains("test-classes") &&
@@ -268,7 +268,7 @@ public class TestInterfaceAudienceAnnotations {
    * - enclosing class is not an interface
    * - name starts with "__CLR"
    */
-  class CloverInstrumentationFilter implements ClassFinder.ClassFilter {
+  static class CloverInstrumentationFilter implements ClassFinder.ClassFilter {
     @Override
     public boolean isCandidateClass(Class<?> clazz) {
       boolean clover = false;

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
index f9fbe85..ea75ac8 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
@@ -1,5 +1,4 @@
 /*
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -25,6 +24,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -88,12 +88,13 @@ public class TestAsyncProcess {
   private static final Log LOG = LogFactory.getLog(TestAsyncProcess.class);
   private static final TableName DUMMY_TABLE =
       TableName.valueOf("DUMMY_TABLE");
-  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes();
-  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes();
-  private static final byte[] DUMMY_BYTES_3 = "DUMMY_BYTES_3".getBytes();
-  private static final byte[] FAILS = "FAILS".getBytes();
+  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] DUMMY_BYTES_3 = "DUMMY_BYTES_3".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] FAILS = "FAILS".getBytes(StandardCharsets.UTF_8);
   private static final Configuration CONF = new Configuration();
-  private static final ConnectionConfiguration CONNECTION_CONFIG = new ConnectionConfiguration(CONF);
+  private static final ConnectionConfiguration CONNECTION_CONFIG =
+      new ConnectionConfiguration(CONF);
   private static final ServerName sn = ServerName.valueOf("s1,1,1");
   private static final ServerName sn2 = ServerName.valueOf("s2,2,2");
   private static final ServerName sn3 = ServerName.valueOf("s3,3,3");
@@ -115,7 +116,8 @@ public class TestAsyncProcess {
       new HRegionLocation(hri1r1, sn2), new HRegionLocation(hri1r2, sn3));
   private static final RegionLocations hrls2 = new RegionLocations(new HRegionLocation(hri2, sn2),
       new HRegionLocation(hri2r1, sn3));
-  private static final RegionLocations hrls3 = new RegionLocations(new HRegionLocation(hri3, sn3), null);
+  private static final RegionLocations hrls3 =
+      new RegionLocations(new HRegionLocation(hri3, sn3), null);
 
   private static final String success = "success";
   private static Exception failure = new Exception("failure");
@@ -325,7 +327,7 @@ public class TestAsyncProcess {
     public AsyncProcessWithFailure(ClusterConnection hc, Configuration conf, IOException ioe) {
       super(hc, conf, true);
       this.ioe = ioe;
-      serverTrackerTimeout = 1;
+      serverTrackerTimeout = 1L;
     }
 
     @Override
@@ -351,7 +353,8 @@ public class TestAsyncProcess {
       return inc.getAndIncrement();
     }
   }
-  class MyAsyncProcessWithReplicas extends MyAsyncProcess {
+
+  static class MyAsyncProcessWithReplicas extends MyAsyncProcess {
     private Set<byte[]> failures = new TreeSet<>(new Bytes.ByteArrayComparator());
     private long primarySleepMs = 0, replicaSleepMs = 0;
     private Map<ServerName, Long> customPrimarySleepMs = new HashMap<>();
@@ -589,7 +592,13 @@ public class TestAsyncProcess {
     Random rn = new Random();
     final long limit = 10 * 1024 * 1024;
     final int requestCount = 1 + (int) (rn.nextDouble() * 3);
-    long putsHeapSize = Math.abs(rn.nextLong()) % limit;
+    long n = rn.nextLong();
+    if (n < 0) {
+      n = -n;
+    } else if (n == 0) {
+      n = 1;
+    }
+    long putsHeapSize = n % limit;
     long maxHeapSizePerRequest = putsHeapSize / requestCount;
     LOG.info("[testSubmitRandomSizeRequest] maxHeapSizePerRequest=" + maxHeapSizePerRequest +
         ", putsHeapSize=" + putsHeapSize);
@@ -612,13 +621,15 @@ public class TestAsyncProcess {
 
   private void doSubmitRequest(long maxHeapSizePerRequest, long putsHeapSize) throws Exception {
     ClusterConnection conn = createHConnection();
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     final long defaultHeapSizePerRequest = conn.getConfiguration().getLong(
       SimpleRequestController.HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE,
       SimpleRequestController.DEFAULT_HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
-    conn.getConfiguration().setLong(SimpleRequestController.HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE, maxHeapSizePerRequest);
+    conn.getConfiguration().setLong(SimpleRequestController.HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE,
+        maxHeapSizePerRequest);
 
     // sn has two regions
     long putSizeSN = 0;
@@ -640,10 +651,11 @@ public class TestAsyncProcess {
 
     int minCountSnRequest = (int) calculateRequestCount(putSizeSN, maxHeapSizePerRequest);
     int minCountSn2Request = (int) calculateRequestCount(putSizeSN2, maxHeapSizePerRequest);
-    LOG.info("Total put count:" + puts.size() + ", putSizeSN:"+ putSizeSN + ", putSizeSN2:" + putSizeSN2
-      + ", maxHeapSizePerRequest:" + maxHeapSizePerRequest
-      + ", minCountSnRequest:" + minCountSnRequest
-      + ", minCountSn2Request:" + minCountSn2Request);
+    LOG.info("Total put count:" + puts.size() + ", putSizeSN:"+ putSizeSN
+        + ", putSizeSN2:" + putSizeSN2
+        + ", maxHeapSizePerRequest:" + maxHeapSizePerRequest
+        + ", minCountSnRequest:" + minCountSnRequest
+        + ", minCountSn2Request:" + minCountSn2Request);
 
     MyAsyncProcess ap = new MyAsyncProcess(conn, CONF, true);
     BufferedMutatorParams bufferParam = createBufferedMutatorParams(ap, DUMMY_TABLE);
@@ -683,7 +695,7 @@ public class TestAsyncProcess {
             sum += size;
           }
           assertEquals(true, sum <= maxHeapSizePerRequest);
-          long value = sizePerServers.containsKey(entry.getKey()) ? sizePerServers.get(entry.getKey()) : 0L;
+          long value = sizePerServers.getOrDefault(entry.getKey(), 0L);
           sizePerServers.put(entry.getKey(), value + sum);
         }
       }
@@ -694,7 +706,8 @@ public class TestAsyncProcess {
       assertEquals(putSizeSN2, (long) sizePerServers.get(sn2));
     }
     // restore config.
-    conn.getConfiguration().setLong(SimpleRequestController.HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE, defaultHeapSizePerRequest);
+    conn.getConfiguration().setLong(SimpleRequestController.HBASE_CLIENT_MAX_PERREQUEST_HEAPSIZE,
+        defaultHeapSizePerRequest);
     if (defaultClazz != null) {
       conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
         defaultClazz);
@@ -731,13 +744,14 @@ public class TestAsyncProcess {
     final AsyncRequestFuture ars = ap.submit(null, DUMMY_TABLE, puts, false, cb, false);
     Assert.assertTrue(puts.isEmpty());
     ars.waitUntilDone();
-    Assert.assertEquals(updateCalled.get(), 1);
+    Assert.assertEquals(1, updateCalled.get());
   }
 
   @Test
   public void testSubmitBusyRegion() throws Exception {
     ClusterConnection conn = createHConnection();
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
     MyAsyncProcess ap = new MyAsyncProcess(conn, CONF);
@@ -765,11 +779,13 @@ public class TestAsyncProcess {
   public void testSubmitBusyRegionServer() throws Exception {
     ClusterConnection conn = createHConnection();
     MyAsyncProcess ap = new MyAsyncProcess(conn, CONF);
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
     SimpleRequestController controller = (SimpleRequestController) ap.requestController;
-    controller.taskCounterPerServer.put(sn2, new AtomicInteger(controller.maxConcurrentTasksPerServer));
+    controller.taskCounterPerServer.put(sn2,
+        new AtomicInteger(controller.maxConcurrentTasksPerServer));
 
     List<Put> puts = new ArrayList<>(4);
     puts.add(createPut(1, true));
@@ -780,7 +796,8 @@ public class TestAsyncProcess {
     ap.submit(null, DUMMY_TABLE, puts, false, null, false);
     Assert.assertEquals(" puts=" + puts, 1, puts.size());
 
-    controller.taskCounterPerServer.put(sn2, new AtomicInteger(controller.maxConcurrentTasksPerServer - 1));
+    controller.taskCounterPerServer.put(sn2,
+        new AtomicInteger(controller.maxConcurrentTasksPerServer - 1));
     ap.submit(null, DUMMY_TABLE, puts, false, null, false);
     Assert.assertTrue(puts.isEmpty());
     if (defaultClazz != null) {
@@ -819,7 +836,8 @@ public class TestAsyncProcess {
   public void testSubmitTrue() throws IOException {
     ClusterConnection conn = createHConnection();
     final MyAsyncProcess ap = new MyAsyncProcess(conn, CONF, false);
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
     SimpleRequestController controller = (SimpleRequestController) ap.requestController;
@@ -923,7 +941,8 @@ public class TestAsyncProcess {
     Mockito.when(conn.getConfiguration()).thenReturn(copyConf);
     Mockito.when(conn.getStatisticsTracker()).thenReturn(ServerStatisticTracker.create(copyConf));
     Mockito.when(conn.getBackoffPolicy()).thenReturn(bp);
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
     MyAsyncProcess ap = new MyAsyncProcess(conn, copyConf, false);
@@ -934,7 +953,8 @@ public class TestAsyncProcess {
     }
   }
 
-  private void testTaskCount(MyAsyncProcess ap) throws InterruptedIOException, InterruptedException {
+  private void testTaskCount(MyAsyncProcess ap)
+      throws InterruptedIOException, InterruptedException {
     SimpleRequestController controller = (SimpleRequestController) ap.requestController;
     List<Put> puts = new ArrayList<>();
     for (int i = 0; i != 3; ++i) {
@@ -958,7 +978,8 @@ public class TestAsyncProcess {
   @Test
   public void testMaxTask() throws Exception {
     ClusterConnection conn = createHConnection();
-    final String defaultClazz = conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
+    final String defaultClazz =
+        conn.getConfiguration().get(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY);
     conn.getConfiguration().set(RequestControllerFactory.REQUEST_CONTROLLER_IMPL_CONF_KEY,
       SimpleRequestController.class.getName());
     final MyAsyncProcess ap = new MyAsyncProcess(conn, CONF, false);
@@ -966,7 +987,7 @@ public class TestAsyncProcess {
 
 
     for (int i = 0; i < 1000; i++) {
-      ap.incTaskCounters(Collections.singleton("dummy".getBytes()), sn);
+      ap.incTaskCounters(Collections.singleton("dummy".getBytes(StandardCharsets.UTF_8)), sn);
     }
 
     final Thread myThread = Thread.currentThread();
@@ -997,7 +1018,7 @@ public class TestAsyncProcess {
       public void run() {
         Threads.sleep(sleepTime);
         while (controller.tasksInProgress.get() > 0) {
-          ap.decTaskCounters(Collections.singleton("dummy".getBytes()), sn);
+          ap.decTaskCounters(Collections.singleton("dummy".getBytes(StandardCharsets.UTF_8)), sn);
         }
       }
     };
@@ -1020,8 +1041,8 @@ public class TestAsyncProcess {
     setMockLocation(hc, DUMMY_BYTES_1, new RegionLocations(loc1));
     setMockLocation(hc, DUMMY_BYTES_2, new RegionLocations(loc2));
     setMockLocation(hc, DUMMY_BYTES_3, new RegionLocations(loc3));
-    Mockito.when(hc.locateRegions(Mockito.eq(DUMMY_TABLE), Mockito.anyBoolean(), Mockito.anyBoolean()))
-           .thenReturn(Arrays.asList(loc1, loc2, loc3));
+    Mockito.when(hc.locateRegions(Mockito.eq(DUMMY_TABLE), Mockito.anyBoolean(),
+        Mockito.anyBoolean())).thenReturn(Arrays.asList(loc1, loc2, loc3));
     setMockLocation(hc, FAILS, new RegionLocations(loc2));
     return hc;
   }
@@ -1041,8 +1062,8 @@ public class TestAsyncProcess {
     for (HRegionLocation loc : hrls3.getRegionLocations()) {
       locations.add(loc);
     }
-    Mockito.when(hc.locateRegions(Mockito.eq(DUMMY_TABLE), Mockito.anyBoolean(), Mockito.anyBoolean()))
-           .thenReturn(locations);
+    Mockito.when(hc.locateRegions(Mockito.eq(DUMMY_TABLE), Mockito.anyBoolean(),
+        Mockito.anyBoolean())).thenReturn(locations);
     return hc;
   }
 
@@ -1073,7 +1094,8 @@ public class TestAsyncProcess {
 
     Put put = createPut(1, true);
 
-    Assert.assertEquals(conn.getConnectionConfiguration().getWriteBufferSize(), ht.getWriteBufferSize());
+    Assert.assertEquals(conn.getConnectionConfiguration().getWriteBufferSize(),
+        ht.getWriteBufferSize());
     Assert.assertEquals(0, ht.getCurrentWriteBufferSize());
     ht.mutate(put);
     ht.flush();
@@ -1161,13 +1183,13 @@ public class TestAsyncProcess {
     } catch (RetriesExhaustedException expected) {
     }
 
-    Assert.assertEquals(res[0], success);
-    Assert.assertEquals(res[1], success);
-    Assert.assertEquals(res[2], success);
-    Assert.assertEquals(res[3], success);
-    Assert.assertEquals(res[4], failure);
-    Assert.assertEquals(res[5], success);
-    Assert.assertEquals(res[6], failure);
+    Assert.assertEquals(success, res[0]);
+    Assert.assertEquals(success, res[1]);
+    Assert.assertEquals(success, res[2]);
+    Assert.assertEquals(success, res[3]);
+    Assert.assertEquals(failure, res[4]);
+    Assert.assertEquals(success, res[5]);
+    Assert.assertEquals(failure, res[6]);
   }
   @Test
   public void testErrorsServers() throws IOException {
@@ -1179,8 +1201,8 @@ public class TestAsyncProcess {
     configuration.setBoolean(ConnectionImplementation.RETRIES_BY_SERVER_KEY, true);
 
     Assert.assertNotNull(ap.createServerErrorTracker());
-    Assert.assertTrue(ap.serverTrackerTimeout > 200);
-    ap.serverTrackerTimeout = 1;
+    Assert.assertTrue(ap.serverTrackerTimeout > 200L);
+    ap.serverTrackerTimeout = 1L;
 
     Put p = createPut(1, false);
     mutator.mutate(p);
@@ -1258,7 +1280,8 @@ public class TestAsyncProcess {
   @Test
   public void testCallQueueTooLarge() throws IOException {
     ClusterConnection conn = new MyConnectionImpl(CONF);
-    AsyncProcessWithFailure ap = new AsyncProcessWithFailure(conn, CONF, new CallQueueTooBigException());
+    AsyncProcessWithFailure ap =
+        new AsyncProcessWithFailure(conn, CONF, new CallQueueTooBigException());
     BufferedMutatorParams bufferParam = createBufferedMutatorParams(ap, DUMMY_TABLE);
     BufferedMutatorImpl mutator = new BufferedMutatorImpl(conn, bufferParam, ap);
     Assert.assertNotNull(ap.createServerErrorTracker());
@@ -1298,7 +1321,7 @@ public class TestAsyncProcess {
     ht.multiAp = ap;
     ht.batch(gets, null);
 
-    Assert.assertEquals(ap.nbActions.get(), NB_REGS);
+    Assert.assertEquals(NB_REGS, ap.nbActions.get());
     Assert.assertEquals("1 multi response per server", 2, ap.nbMultiResponse.get());
     Assert.assertEquals("1 thread per server", 2, con.nbThreads.get());
 
@@ -1306,7 +1329,7 @@ public class TestAsyncProcess {
     for (int i =0; i<NB_REGS; i++){
       if (con.usedRegions[i]) nbReg++;
     }
-    Assert.assertEquals("nbReg=" + nbReg, nbReg, NB_REGS);
+    Assert.assertEquals("nbReg=" + nbReg, NB_REGS, nbReg);
   }
 
   @Test
@@ -1479,7 +1502,8 @@ public class TestAsyncProcess {
     return ap;
   }
 
-  private static BufferedMutatorParams createBufferedMutatorParams(MyAsyncProcess ap, TableName name) {
+  private static BufferedMutatorParams createBufferedMutatorParams(MyAsyncProcess ap,
+      TableName name) {
     return new BufferedMutatorParams(name)
             .pool(ap.service)
             .rpcTimeout(RPC_TIMEOUT)

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
index 6fdde25..0646f41 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java
@@ -49,57 +49,69 @@ public class TestBufferedMutatorParams {
    */
   private class MockExecutorService implements ExecutorService {
 
+    @Override
     public void execute(Runnable command) {
     }
 
+    @Override
     public void shutdown() {
     }
 
+    @Override
     public List<Runnable> shutdownNow() {
       return null;
     }
 
+    @Override
     public boolean isShutdown() {
       return false;
     }
 
+    @Override
     public boolean isTerminated() {
       return false;
     }
 
-    public boolean awaitTermination(long timeout, TimeUnit unit)
-        throws InterruptedException {
+    @Override
+    public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
       return false;
     }
 
+    @Override
     public <T> Future<T> submit(Callable<T> task) {
       return null;
     }
 
+    @Override
     public <T> Future<T> submit(Runnable task, T result) {
       return null;
     }
 
+    @Override
     public Future<?> submit(Runnable task) {
       return null;
     }
 
+    @Override
     public <T> List<Future<T>> invokeAll(
         Collection<? extends Callable<T>> tasks) throws InterruptedException {
       return null;
     }
 
+    @Override
     public <T> List<Future<T>> invokeAll(
         Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
         throws InterruptedException {
       return null;
     }
 
+    @Override
     public <T> T invokeAny(Collection<? extends Callable<T>> tasks)
         throws InterruptedException, ExecutionException {
       return null;
     }
 
+    @Override
     public <T> T invokeAny(Collection<? extends Callable<T>> tasks,
         long timeout, TimeUnit unit)
         throws InterruptedException, ExecutionException, TimeoutException {
@@ -110,8 +122,8 @@ public class TestBufferedMutatorParams {
   /**
    * Just to create an instance, this doesn't actually function.
    */
-  private class MockExceptionListener
-      implements BufferedMutator.ExceptionListener {
+  private static class MockExceptionListener implements BufferedMutator.ExceptionListener {
+    @Override
     public void onException(RetriesExhaustedWithDetailsException exception,
         BufferedMutator mutator) throws RetriesExhaustedWithDetailsException {
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientExponentialBackoff.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientExponentialBackoff.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientExponentialBackoff.java
index dcd2230..dc0459d 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientExponentialBackoff.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientExponentialBackoff.java
@@ -126,8 +126,8 @@ public class TestClientExponentialBackoff {
 
     update(stats, 0, 98, 0);
     backoffTime = backoff.getBackoffTime(server, regionname, stats);
-    assertEquals("We should be using max backoff when at high watermark", backoffTime,
-      ExponentialClientBackoffPolicy.DEFAULT_MAX_BACKOFF);
+    assertEquals("We should be using max backoff when at high watermark",
+      ExponentialClientBackoffPolicy.DEFAULT_MAX_BACKOFF, backoffTime);
   }
 
   @Test
@@ -150,8 +150,8 @@ public class TestClientExponentialBackoff {
 
     update(stats, 0, 0, 100);
     backoffTime = backoff.getBackoffTime(server, regionname, stats);
-    assertEquals("under heavy compaction pressure", backoffTime,
-            ExponentialClientBackoffPolicy.DEFAULT_MAX_BACKOFF);
+    assertEquals("under heavy compaction pressure",
+      ExponentialClientBackoffPolicy.DEFAULT_MAX_BACKOFF, backoffTime);
   }
 
   private void update(ServerStatistics stats, int load) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java
index 3f0c869..eb158cb 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java
@@ -30,6 +30,7 @@ import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.when;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Iterator;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -131,7 +132,8 @@ public class TestClientScanner {
   @SuppressWarnings("unchecked")
   public void testNoResultsHint() throws IOException {
     final Result[] results = new Result[1];
-    KeyValue kv1 = new KeyValue("row".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv1 = new KeyValue("row".getBytes(StandardCharsets.UTF_8),
+        "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     results[0] = Result.create(new Cell[] {kv1});
 
@@ -191,7 +193,8 @@ public class TestClientScanner {
   @SuppressWarnings("unchecked")
   public void testSizeLimit() throws IOException {
     final Result[] results = new Result[1];
-    KeyValue kv1 = new KeyValue("row".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv1 = new KeyValue("row".getBytes(StandardCharsets.UTF_8),
+      "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     results[0] = Result.create(new Cell[] {kv1});
 
@@ -248,9 +251,14 @@ public class TestClientScanner {
   @Test
   @SuppressWarnings("unchecked")
   public void testCacheLimit() throws IOException {
-    KeyValue kv1 = new KeyValue("row1".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
-        Type.Maximum), kv2 = new KeyValue("row2".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
-        Type.Maximum), kv3 = new KeyValue("row3".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv1 = new KeyValue("row1".getBytes(StandardCharsets.UTF_8),
+      "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
+        Type.Maximum);
+    KeyValue kv2 = new KeyValue("row2".getBytes(StandardCharsets.UTF_8),
+        "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
+        Type.Maximum);
+    KeyValue kv3 = new KeyValue("row3".getBytes(StandardCharsets.UTF_8),
+        "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     final Result[] results = new Result[] {Result.create(new Cell[] {kv1}),
         Result.create(new Cell[] {kv2}), Result.create(new Cell[] {kv3})};
@@ -323,7 +331,8 @@ public class TestClientScanner {
   @SuppressWarnings("unchecked")
   public void testNoMoreResults() throws IOException {
     final Result[] results = new Result[1];
-    KeyValue kv1 = new KeyValue("row".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv1 = new KeyValue("row".getBytes(StandardCharsets.UTF_8),
+      "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     results[0] = Result.create(new Cell[] {kv1});
 
@@ -381,12 +390,14 @@ public class TestClientScanner {
   @SuppressWarnings("unchecked")
   public void testMoreResults() throws IOException {
     final Result[] results1 = new Result[1];
-    KeyValue kv1 = new KeyValue("row".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv1 = new KeyValue("row".getBytes(StandardCharsets.UTF_8),
+        "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     results1[0] = Result.create(new Cell[] {kv1});
 
     final Result[] results2 = new Result[1];
-    KeyValue kv2 = new KeyValue("row2".getBytes(), "cf".getBytes(), "cq".getBytes(), 1,
+    KeyValue kv2 = new KeyValue("row2".getBytes(StandardCharsets.UTF_8),
+      "cf".getBytes(StandardCharsets.UTF_8), "cq".getBytes(StandardCharsets.UTF_8), 1,
         Type.Maximum);
     results2[0] = Result.create(new Cell[] {kv2});
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.java
index 4254139..1022ee2 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestColumnFamilyDescriptorBuilder.java
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeepDeletedCells;
@@ -32,13 +35,17 @@ import org.apache.hadoop.hbase.util.BuilderStyleTest;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.PrettyPrinter;
 import org.junit.Assert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
 
 @Category({MiscTests.class, SmallTests.class})
 public class TestColumnFamilyDescriptorBuilder {
+
+  @Rule
+  public ExpectedException expectedEx = ExpectedException.none();
+
   @Test
   public void testBuilder() throws DeserializationException {
     ColumnFamilyDescriptorBuilder builder
@@ -86,15 +93,14 @@ public class TestColumnFamilyDescriptorBuilder {
     assertEquals(v, deserializedHcd.getDFSReplication());
   }
 
+  /**
+   * Tests HColumnDescriptor with empty familyName
+   */
   @Test
-  /** Tests HColumnDescriptor with empty familyName*/
-  public void testHColumnDescriptorShouldThrowIAEWhenFamiliyNameEmpty()
-      throws Exception {
-    try {
-      ColumnFamilyDescriptorBuilder.of("");
-    } catch (IllegalArgumentException e) {
-      assertEquals("Column Family name can not be empty", e.getLocalizedMessage());
-    }
+  public void testHColumnDescriptorShouldThrowIAEWhenFamilyNameEmpty() throws Exception {
+    expectedEx.expect(IllegalArgumentException.class);
+    expectedEx.expectMessage("Column Family name can not be empty");
+    ColumnFamilyDescriptorBuilder.of("");
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestDelayingRunner.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestDelayingRunner.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestDelayingRunner.java
index fb9dc21..15b7b02 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestDelayingRunner.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestDelayingRunner.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.client;
 
 import static org.junit.Assert.*;
 
+import java.nio.charset.StandardCharsets;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.hadoop.hbase.HRegionInfo;
@@ -33,8 +34,8 @@ public class TestDelayingRunner {
 
   private static final TableName DUMMY_TABLE =
       TableName.valueOf("DUMMY_TABLE");
-  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes();
-  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes();
+  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes(StandardCharsets.UTF_8);
   private static HRegionInfo hri1 =
       new HRegionInfo(DUMMY_TABLE, DUMMY_BYTES_1, DUMMY_BYTES_2, false, 1);
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestOperation.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestOperation.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestOperation.java
index 61c9f3f..98bc74b 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestOperation.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestOperation.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertNotNull;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -94,13 +95,14 @@ public class TestOperation {
 
   private static String COL_NAME_1 = "col1";
   private static ColumnPrefixFilter COL_PRE_FILTER =
-      new ColumnPrefixFilter(COL_NAME_1.getBytes());
+      new ColumnPrefixFilter(COL_NAME_1.getBytes(StandardCharsets.UTF_8));
   private static String STR_COL_PRE_FILTER =
       COL_PRE_FILTER.getClass().getSimpleName() + " " + COL_NAME_1;
 
   private static String COL_NAME_2 = "col2";
   private static ColumnRangeFilter CR_FILTER = new ColumnRangeFilter(
-      COL_NAME_1.getBytes(), true, COL_NAME_2.getBytes(), false);
+      COL_NAME_1.getBytes(StandardCharsets.UTF_8), true,
+      COL_NAME_2.getBytes(StandardCharsets.UTF_8), false);
   private static String STR_CR_FILTER = CR_FILTER.getClass().getSimpleName()
       + " [" + COL_NAME_1 + ", " + COL_NAME_2 + ")";
 
@@ -119,25 +121,28 @@ public class TestOperation {
 
   private static String STOP_ROW_KEY = "stop";
   private static InclusiveStopFilter IS_FILTER =
-      new InclusiveStopFilter(STOP_ROW_KEY.getBytes());
+      new InclusiveStopFilter(STOP_ROW_KEY.getBytes(StandardCharsets.UTF_8));
   private static String STR_IS_FILTER =
       IS_FILTER.getClass().getSimpleName() + " " + STOP_ROW_KEY;
 
   private static String PREFIX = "prefix";
   private static PrefixFilter PREFIX_FILTER =
-      new PrefixFilter(PREFIX.getBytes());
+      new PrefixFilter(PREFIX.getBytes(StandardCharsets.UTF_8));
   private static String STR_PREFIX_FILTER = "PrefixFilter " + PREFIX;
 
   private static byte[][] PREFIXES = {
-      "0".getBytes(), "1".getBytes(), "2".getBytes()};
+      "0".getBytes(StandardCharsets.UTF_8), "1".getBytes(StandardCharsets.UTF_8),
+      "2".getBytes(StandardCharsets.UTF_8)};
   private static MultipleColumnPrefixFilter MCP_FILTER =
       new MultipleColumnPrefixFilter(PREFIXES);
   private static String STR_MCP_FILTER =
       MCP_FILTER.getClass().getSimpleName() + " (3/3): [0, 1, 2]";
 
   private static byte[][] L_PREFIXES = {
-    "0".getBytes(), "1".getBytes(), "2".getBytes(), "3".getBytes(),
-    "4".getBytes(), "5".getBytes(), "6".getBytes(), "7".getBytes()};
+    "0".getBytes(StandardCharsets.UTF_8), "1".getBytes(StandardCharsets.UTF_8),
+    "2".getBytes(StandardCharsets.UTF_8), "3".getBytes(StandardCharsets.UTF_8),
+    "4".getBytes(StandardCharsets.UTF_8), "5".getBytes(StandardCharsets.UTF_8),
+    "6".getBytes(StandardCharsets.UTF_8), "7".getBytes(StandardCharsets.UTF_8)};
   private static MultipleColumnPrefixFilter L_MCP_FILTER =
       new MultipleColumnPrefixFilter(L_PREFIXES);
   private static String STR_L_MCP_FILTER =
@@ -167,7 +172,7 @@ public class TestOperation {
       FIRST_KEY_ONLY_FILTER.getClass().getSimpleName();
 
   private static CompareOp CMP_OP = CompareOp.EQUAL;
-  private static byte[] CMP_VALUE = "value".getBytes();
+  private static byte[] CMP_VALUE = "value".getBytes(StandardCharsets.UTF_8);
   private static BinaryComparator BC = new BinaryComparator(CMP_VALUE);
   private static DependentColumnFilter DC_FILTER =
       new DependentColumnFilter(FAMILY, QUALIFIER, true, CMP_OP, BC);
@@ -451,4 +456,3 @@ public class TestOperation {
   }
 
 }
-

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.java
index 6d8c84c..a201285 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.java
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.CategoryBasedTimeout;
 import org.apache.hadoop.hbase.HRegionInfo;
@@ -32,13 +35,11 @@ import org.junit.experimental.categories.Category;
 import org.junit.rules.TestName;
 import org.junit.rules.TestRule;
 
-import java.io.IOException;
-
 @Category({MasterTests.class, SmallTests.class})
 public class TestRegionInfoDisplay {
   @Rule
-  public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
-  withLookingForStuckThread(true).build();
+  public final TestRule timeout = CategoryBasedTimeout.builder()
+      .withTimeout(this.getClass()).withLookingForStuckThread(true).build();
   @Rule public TestName name = new TestName();
 
   @Test
@@ -59,35 +60,36 @@ public class TestRegionInfoDisplay {
     .setReplicaId(1).build();
     checkEquality(ri, conf);
     Assert.assertArrayEquals(RegionInfoDisplay.HIDDEN_END_KEY,
-    RegionInfoDisplay.getEndKeyForDisplay(ri, conf));
+        RegionInfoDisplay.getEndKeyForDisplay(ri, conf));
     Assert.assertArrayEquals(RegionInfoDisplay.HIDDEN_START_KEY,
-    RegionInfoDisplay.getStartKeyForDisplay(ri, conf));
+        RegionInfoDisplay.getStartKeyForDisplay(ri, conf));
 
     RegionState state = RegionState.createForTesting(convert(ri), RegionState.State.OPEN);
     String descriptiveNameForDisplay =
-    RegionInfoDisplay.getDescriptiveNameFromRegionStateForDisplay(state, conf);
+        RegionInfoDisplay.getDescriptiveNameFromRegionStateForDisplay(state, conf);
     checkDescriptiveNameEquality(descriptiveNameForDisplay,state.toDescriptiveString(), startKey);
 
     conf.setBoolean("hbase.display.keys", true);
     Assert.assertArrayEquals(endKey, RegionInfoDisplay.getEndKeyForDisplay(ri, conf));
     Assert.assertArrayEquals(startKey, RegionInfoDisplay.getStartKeyForDisplay(ri, conf));
     Assert.assertEquals(state.toDescriptiveString(),
-    RegionInfoDisplay.getDescriptiveNameFromRegionStateForDisplay(state, conf));
+        RegionInfoDisplay.getDescriptiveNameFromRegionStateForDisplay(state, conf));
   }
 
   private void checkDescriptiveNameEquality(String descriptiveNameForDisplay, String origDesc,
-                                            byte[] startKey) {
+      byte[] startKey) {
     // except for the "hidden-start-key" substring everything else should exactly match
     String firstPart = descriptiveNameForDisplay.substring(0,
-    descriptiveNameForDisplay.indexOf(new String(RegionInfoDisplay.HIDDEN_START_KEY)));
+        descriptiveNameForDisplay.indexOf(
+        new String(RegionInfoDisplay.HIDDEN_START_KEY, StandardCharsets.UTF_8)));
     String secondPart = descriptiveNameForDisplay.substring(
-    descriptiveNameForDisplay.indexOf(new String(RegionInfoDisplay.HIDDEN_START_KEY)) +
-    RegionInfoDisplay.HIDDEN_START_KEY.length);
-    String firstPartOrig = origDesc.substring(0,
-    origDesc.indexOf(Bytes.toStringBinary(startKey)));
+        descriptiveNameForDisplay.indexOf(
+        new String(RegionInfoDisplay.HIDDEN_START_KEY, StandardCharsets.UTF_8)) +
+            RegionInfoDisplay.HIDDEN_START_KEY.length);
+    String firstPartOrig = origDesc.substring(0, origDesc.indexOf(Bytes.toStringBinary(startKey)));
     String secondPartOrig = origDesc.substring(
-    origDesc.indexOf(Bytes.toStringBinary(startKey)) +
-    Bytes.toStringBinary(startKey).length());
+        origDesc.indexOf(Bytes.toStringBinary(startKey)) +
+            Bytes.toStringBinary(startKey).length());
     assert(firstPart.equals(firstPartOrig));
     assert(secondPart.equals(secondPartOrig));
   }
@@ -118,8 +120,8 @@ public class TestRegionInfoDisplay {
   }
 
   private HRegionInfo convert(RegionInfo ri) {
-    HRegionInfo hri = new HRegionInfo(
-    ri.getTable(), ri.getStartKey(), ri.getEndKey(), ri.isSplit(), ri.getRegionId());
+    HRegionInfo hri =new HRegionInfo(ri.getTable(), ri.getStartKey(), ri.getEndKey(),
+        ri.isSplit(), ri.getRegionId());
     hri.setOffline(ri.isOffline());
     return hri;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/59529a78/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSimpleRequestController.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSimpleRequestController.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSimpleRequestController.java
index 531fd0f..3107aa7 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSimpleRequestController.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSimpleRequestController.java
@@ -1,5 +1,4 @@
 /*
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -18,8 +17,14 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.IOException;
 import java.io.InterruptedIOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
@@ -27,6 +32,7 @@ import java.util.concurrent.BrokenBarrierException;
 import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
@@ -39,10 +45,6 @@ import org.apache.hadoop.hbase.testclassification.ClientTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.junit.Assert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -51,9 +53,9 @@ public class TestSimpleRequestController {
 
   private static final TableName DUMMY_TABLE
           = TableName.valueOf("DUMMY_TABLE");
-  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes();
-  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes();
-  private static final byte[] DUMMY_BYTES_3 = "DUMMY_BYTES_3".getBytes();
+  private static final byte[] DUMMY_BYTES_1 = "DUMMY_BYTES_1".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] DUMMY_BYTES_2 = "DUMMY_BYTES_2".getBytes(StandardCharsets.UTF_8);
+  private static final byte[] DUMMY_BYTES_3 = "DUMMY_BYTES_3".getBytes(StandardCharsets.UTF_8);
   private static final ServerName SN = ServerName.valueOf("s1,1,1");
   private static final ServerName SN2 = ServerName.valueOf("s2,2,2");
   private static final HRegionInfo HRI1
@@ -118,15 +120,18 @@ public class TestSimpleRequestController {
     final AtomicLong tasksInProgress = new AtomicLong(0);
     final Map<ServerName, AtomicInteger> taskCounterPerServer = new HashMap<>();
     final Map<byte[], AtomicInteger> taskCounterPerRegion = new HashMap<>();
-    SimpleRequestController.TaskCountChecker countChecker = new SimpleRequestController.TaskCountChecker(
+    SimpleRequestController.TaskCountChecker countChecker =
+        new SimpleRequestController.TaskCountChecker(
             maxTotalConcurrentTasks,
             maxConcurrentTasksPerServer,
             maxConcurrentTasksPerRegion,
             tasksInProgress, taskCounterPerServer, taskCounterPerRegion);
     final long maxHeapSizePerRequest = 2 * 1024 * 1024;
     // unlimiited
-    SimpleRequestController.RequestHeapSizeChecker sizeChecker = new SimpleRequestController.RequestHeapSizeChecker(maxHeapSizePerRequest);
-    RequestController.Checker checker = SimpleRequestController.newChecker(Arrays.asList(countChecker, sizeChecker));
+    SimpleRequestController.RequestHeapSizeChecker sizeChecker =
+        new SimpleRequestController.RequestHeapSizeChecker(maxHeapSizePerRequest);
+    RequestController.Checker checker =
+        SimpleRequestController.newChecker(Arrays.asList(countChecker, sizeChecker));
     ReturnCode loc1Code = checker.canTakeRow(LOC1, createPut(maxHeapSizePerRequest));
     assertEquals(ReturnCode.INCLUDE, loc1Code);
 
@@ -357,11 +362,7 @@ public class TestSimpleRequestController {
         controller.waitForMaximumCurrentTasks(max.get(), 123, 1, null);
       } catch (InterruptedIOException e) {
         Assert.fail(e.getMessage());
-      } catch (InterruptedException e) {
-        // TODO Auto-generated catch block
-        e.printStackTrace();
-      } catch (BrokenBarrierException e) {
-        // TODO Auto-generated catch block
+      } catch (InterruptedException | BrokenBarrierException e) {
         e.printStackTrace();
       }
     };