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();
}
};