You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2021/02/01 15:52:13 UTC
[kudu] 01/02: [java] address warnings from the SonarLint tool
This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 361f9aac615e9da021926cd5c82947a7f4b46320
Author: Alexey Serbin <al...@apache.org>
AuthorDate: Thu Jan 21 19:45:18 2021 -0800
[java] address warnings from the SonarLint tool
This patch addresses some warnings (mostly "low-hanging fruits")
reported by the SonarLint tool.
This patch does not contain any functional modifications.
Change-Id: I306575b370fb69a54fdc24b9d770a99291828ef7
Reviewed-on: http://gerrit.cloudera.org:8080/16969
Tested-by: Alexey Serbin <as...@cloudera.com>
Reviewed-by: Grant Henke <gr...@apache.org>
---
.../org/apache/kudu/client/AsyncKuduClient.java | 38 ++---
.../org/apache/kudu/client/AsyncKuduScanner.java | 14 +-
.../org/apache/kudu/client/AsyncKuduSession.java | 169 +++++++++++----------
.../org/apache/kudu/client/AuthzTokenCache.java | 8 +-
.../kudu/client/ColumnarRowResultIterator.java | 19 ++-
.../org/apache/kudu/client/ConnectToCluster.java | 18 +--
.../apache/kudu/client/ConnectToMasterRequest.java | 4 +-
.../org/apache/kudu/client/CreateTableOptions.java | 1 -
.../main/java/org/apache/kudu/client/IPCUtil.java | 4 +
.../java/org/apache/kudu/client/KeyEncoder.java | 2 +-
.../java/org/apache/kudu/client/KuduClient.java | 5 +-
.../java/org/apache/kudu/client/KuduPredicate.java | 1 -
.../java/org/apache/kudu/client/KuduSession.java | 5 +-
.../java/org/apache/kudu/client/LocatedTablet.java | 4 +-
.../org/apache/kudu/client/RowResultIterator.java | 9 +-
.../kudu/client/RowwiseRowResultIterator.java | 14 +-
.../main/java/org/apache/kudu/client/RpcProxy.java | 2 +-
.../apache/kudu/client/SessionConfiguration.java | 1 +
.../java/org/apache/kudu/client/Statistics.java | 2 +-
.../main/java/org/apache/kudu/util/AsyncUtil.java | 4 +
.../main/java/org/apache/kudu/util/CharUtil.java | 4 +
.../java/org/apache/kudu/util/DataGenerator.java | 5 +-
.../main/java/org/apache/kudu/util/DateUtil.java | 4 +
.../java/org/apache/kudu/util/DecimalUtil.java | 5 +-
.../main/java/org/apache/kudu/util/HashUtil.java | 6 +-
.../java/org/apache/kudu/util/HybridTimeUtil.java | 4 +
.../main/java/org/apache/kudu/util/NetUtil.java | 4 +
.../java/org/apache/kudu/util/SchemaGenerator.java | 2 +-
.../main/java/org/apache/kudu/util/StringUtil.java | 8 +-
.../java/org/apache/kudu/util/TimestampUtil.java | 4 +
30 files changed, 200 insertions(+), 170 deletions(-)
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
index 5f2822f..d8ba883 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
@@ -884,9 +884,9 @@ public class AsyncKuduClient implements AutoCloseable {
timer,
defaultAdminOperationTimeoutMs);
- return sendRpcToTablet(rpc).addCallback(resp -> {
- return new KuduTableStatistics(resp.getOnDiskSize(), resp.getLiveRowCount());
- });
+ return sendRpcToTablet(rpc).addCallback(resp ->
+ new KuduTableStatistics(resp.getOnDiskSize(), resp.getLiveRowCount())
+ );
}
/**
@@ -972,7 +972,7 @@ public class AsyncKuduClient implements AutoCloseable {
.addCallback(new MasterLookupCB(masterTable,
/* partitionKey */ null,
/* requestedBatchSize */ 1))
- .addCallback((Callback<Void, Object>) ignored -> {
+ .addCallback(ignored -> {
// Just call ourselves again; we're guaranteed to have the
// authentication credentials.
assert hasConnectedToMaster;
@@ -1025,7 +1025,7 @@ public class AsyncKuduClient implements AutoCloseable {
.addCallback(new MasterLookupCB(masterTable,
/* partitionKey */ null,
/* requestedBatchSize */ 1))
- .addCallback((Callback<Void, Object>) ignored -> {
+ .addCallback(ignored -> {
// Just call ourselves again; we're guaranteed to have the HMS config.
assert hasConnectedToMaster;
doGetHiveMetastoreConfig(fakeRpc);
@@ -1452,7 +1452,7 @@ public class AsyncKuduClient implements AutoCloseable {
@Nonnull final String method,
@Nullable final KuduRpc<?> parent,
long timeoutMs) {
- KuduRpc<R> rpc = new FakeKuduRpc<R>(method, timer, timeoutMs);
+ KuduRpc<R> rpc = new FakeKuduRpc<>(method, timer, timeoutMs);
rpc.setParentRpc(parent);
return rpc;
}
@@ -1711,6 +1711,14 @@ public class AsyncKuduClient implements AutoCloseable {
public String toString() {
return "release master lookup permit";
}
+
+ /**
+ * Releases a master lookup permit that was acquired.
+ * See {@link AsyncKuduClient#acquireMasterLookupPermit}.
+ */
+ private void releaseMasterLookupPermit() {
+ masterLookups.release();
+ }
}
long getSleepTimeForRpcMillis(KuduRpc<?> rpc) {
@@ -1850,16 +1858,16 @@ public class AsyncKuduClient implements AutoCloseable {
}
}
- HiveMetastoreConfig hiveMetastoreConfig = null;
+ HiveMetastoreConfig config = null;
Master.ConnectToMasterResponsePB respPb = resp.getConnectResponse();
if (respPb.hasHmsConfig()) {
Master.HiveMetastoreConfig metastoreConf = respPb.getHmsConfig();
- hiveMetastoreConfig = new HiveMetastoreConfig(metastoreConf.getHmsUris(),
- metastoreConf.getHmsSaslEnabled(),
- metastoreConf.getHmsUuid());
+ config = new HiveMetastoreConfig(metastoreConf.getHmsUris(),
+ metastoreConf.getHmsSaslEnabled(),
+ metastoreConf.getHmsUuid());
}
synchronized (AsyncKuduClient.this) {
- AsyncKuduClient.this.hiveMetastoreConfig = hiveMetastoreConfig;
+ hiveMetastoreConfig = config;
location = respPb.getClientLocation();
clusterId = respPb.getClusterId();
}
@@ -2319,14 +2327,6 @@ public class AsyncKuduClient implements AutoCloseable {
}
/**
- * Releases a master lookup permit that was acquired.
- * @see #acquireMasterLookupPermit
- */
- private void releaseMasterLookupPermit() {
- masterLookups.release();
- }
-
- /**
* Makes discovered tablet locations visible in the client's caches.
* @param table the table which the locations belong to
* @param requestPartitionKey the partition key of the table locations request
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
index c736bb5..9206495 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
@@ -580,7 +580,7 @@ public final class AsyncKuduScanner {
sequenceId++;
hasMore = resp.more;
if (LOG.isDebugEnabled()) {
- LOG.debug("Scanner " + Bytes.pretty(scannerId) + " opened on " + tablet);
+ LOG.debug("Scanner {} opened on {}", Bytes.pretty(scannerId), tablet);
}
return Deferred.fromResult(resp.data);
}
@@ -665,7 +665,6 @@ public final class AsyncKuduScanner {
}
sequenceId++;
hasMore = resp.more;
- //LOG.info("Scan.next is returning rows: " + resp.data.getNumRows());
return resp.data;
}
@@ -755,8 +754,7 @@ public final class AsyncKuduScanner {
public RowResultIterator call(Response response) {
closed = true;
if (LOG.isDebugEnabled()) {
- LOG.debug("Scanner " + Bytes.pretty(scannerId) + " closed on " +
- tablet);
+ LOG.debug("Scanner {} closed on {}", Bytes.pretty(scannerId), tablet);
}
invalidate();
scannerId = "client debug closed".getBytes(UTF_8); // Make debugging easier.
@@ -1109,10 +1107,8 @@ public final class AsyncKuduScanner {
}
}
- if (isFaultTolerant) {
- if (AsyncKuduScanner.this.lastPrimaryKey.length > 0) {
- newBuilder.setLastPrimaryKey(UnsafeByteOperations.unsafeWrap(lastPrimaryKey));
- }
+ if (isFaultTolerant && AsyncKuduScanner.this.lastPrimaryKey.length > 0) {
+ newBuilder.setLastPrimaryKey(UnsafeByteOperations.unsafeWrap(lastPrimaryKey));
}
if (AsyncKuduScanner.this.startPrimaryKey.length > 0) {
@@ -1209,7 +1205,7 @@ public final class AsyncKuduScanner {
: AsyncKuduClient.NO_TIMESTAMP,
resp.getLastPrimaryKey().toByteArray(), resourceMetricsPB);
if (LOG.isDebugEnabled()) {
- LOG.debug("{} for scanner {}", response.toString(), AsyncKuduScanner.this);
+ LOG.debug("{} for scanner {}", response, AsyncKuduScanner.this);
}
return new Pair<>(response, error);
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
index 5d84168..59eb838 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
@@ -332,17 +332,6 @@ public class AsyncKuduSession implements SessionConfiguration {
}
/**
- * Returns a buffer to the inactive queue after flushing.
- * @param buffer the buffer to return to the inactive queue.
- */
- private void queueBuffer(Buffer buffer) {
- inactiveBuffers.add(buffer);
- buffer.callbackFlushNotification();
- Deferred<Void> localFlushNotification = flushNotification.getAndSet(new Deferred<>());
- localFlushNotification.callback(null);
- }
-
- /**
* Callback which waits for all tablet location lookups to complete, groups all operations into
* batches by tablet, and dispatches them. When all of the batches are complete, a deferred is
* fired and the buffer is added to the inactive queue.
@@ -440,6 +429,90 @@ public class AsyncKuduSession implements SessionConfiguration {
return null;
}
+
+ /**
+ * Creates callbacks to handle a multi-put and adds them to the request.
+ * @param request the request for which we must handle the response
+ */
+ private void addBatchCallbacks(final Batch request) {
+ final class BatchCallback implements Callback<BatchResponse, BatchResponse> {
+ @Override
+ public BatchResponse call(final BatchResponse response) {
+ LOG.trace("Got a Batch response for {} rows", request.operations.size());
+ AsyncKuduSession.this.client.updateLastPropagatedTimestamp(response.getWriteTimestamp());
+
+ // Send individualized responses to all the operations in this batch.
+ for (OperationResponse operationResponse : response.getIndividualResponses()) {
+ if (flushMode == FlushMode.AUTO_FLUSH_BACKGROUND && operationResponse.hasRowError()) {
+ errorCollector.addError(operationResponse.getRowError());
+ }
+
+ // Fire the callback after collecting the errors so that the errors
+ // are visible should the callback interrogate the error collector.
+ operationResponse.getOperation().callback(operationResponse);
+ }
+
+ return response;
+ }
+
+ @Override
+ public String toString() {
+ return "apply batch response";
+ }
+ }
+
+ final class BatchErrCallback implements Callback<Object, Exception> {
+ @Override
+ public Object call(Exception e) {
+ // If the exception we receive is a KuduException we're going to build OperationResponses.
+ Status status = null;
+ List<OperationResponse> responses = null;
+ boolean handleKuduException = e instanceof KuduException;
+ if (handleKuduException) {
+ status = ((KuduException) e).getStatus();
+ responses = new ArrayList<>(request.operations.size());
+ }
+
+ for (Operation operation : request.operations) {
+ // Same comment as in BatchCallback regarding the ordering of when to callback.
+ if (handleKuduException) {
+ RowError rowError = new RowError(status, operation);
+ OperationResponse response = new OperationResponse(0, null, 0, operation, rowError);
+ errorCollector.addError(rowError);
+ responses.add(response);
+
+ operation.callback(response);
+ } else {
+ // We have no idea what the exception is so we'll just send it up.
+ operation.errback(e);
+ }
+ }
+
+ // Note that returning an object that's not an exception will make us leave the
+ // errback chain. Effectively, the BatchResponse below will end up as part of the list
+ // passed to ConvertBatchToListOfResponsesCB.
+ return handleKuduException ? new BatchResponse(responses, request.operationIndexes) : e;
+ }
+
+ @Override
+ public String toString() {
+ return "apply batch error response";
+ }
+ }
+
+ request.getDeferred().addCallbacks(new BatchCallback(), new BatchErrCallback());
+ }
+
+ /**
+ * Returns a buffer to the inactive queue after flushing.
+ * @param buffer the buffer to return to the inactive queue.
+ */
+ private void queueBuffer(Buffer buffer) {
+ inactiveBuffers.add(buffer);
+ buffer.callbackFlushNotification();
+ Deferred<Void> localFlushNotification = flushNotification.getAndSet(new Deferred<>());
+ localFlushNotification.callback(null);
+ }
}
/**
@@ -531,7 +604,7 @@ public class AsyncKuduSession implements SessionConfiguration {
public boolean hasPendingOperations() {
synchronized (monitor) {
return activeBuffer == null ? inactiveBuffers.size() < 2 :
- activeBuffer.getOperations().size() > 0 || !inactiveBufferAvailable();
+ !activeBuffer.getOperations().isEmpty() || !inactiveBufferAvailable();
}
}
@@ -718,78 +791,6 @@ public class AsyncKuduSession implements SessionConfiguration {
}
}
- /**
- * Creates callbacks to handle a multi-put and adds them to the request.
- * @param request the request for which we must handle the response
- */
- private void addBatchCallbacks(final Batch request) {
- final class BatchCallback implements Callback<BatchResponse, BatchResponse> {
- @Override
- public BatchResponse call(final BatchResponse response) {
- LOG.trace("Got a Batch response for {} rows", request.operations.size());
- AsyncKuduSession.this.client.updateLastPropagatedTimestamp(response.getWriteTimestamp());
-
- // Send individualized responses to all the operations in this batch.
- for (OperationResponse operationResponse : response.getIndividualResponses()) {
- if (flushMode == FlushMode.AUTO_FLUSH_BACKGROUND && operationResponse.hasRowError()) {
- errorCollector.addError(operationResponse.getRowError());
- }
-
- // Fire the callback after collecting the errors so that the errors are visible should the
- // callback interrogate the error collector.
- operationResponse.getOperation().callback(operationResponse);
- }
-
- return response;
- }
-
- @Override
- public String toString() {
- return "apply batch response";
- }
- }
-
- final class BatchErrCallback implements Callback<Object, Exception> {
- @Override
- public Object call(Exception e) {
- // If the exception we receive is a KuduException we're going to build OperationResponses.
- Status status = null;
- List<OperationResponse> responses = null;
- boolean handleKuduException = e instanceof KuduException;
- if (handleKuduException) {
- status = ((KuduException) e).getStatus();
- responses = new ArrayList<>(request.operations.size());
- }
-
- for (Operation operation : request.operations) {
- // Same comment as in BatchCallback regarding the ordering of when to callback.
- if (handleKuduException) {
- RowError rowError = new RowError(status, operation);
- OperationResponse response = new OperationResponse(0, null, 0, operation, rowError);
- errorCollector.addError(rowError);
- responses.add(response);
-
- operation.callback(response);
- } else {
- // We have no idea what the exception is so we'll just send it up.
- operation.errback(e);
- }
- }
-
- // Note that returning an object that's not an exception will make us leave the
- // errback chain. Effectively, the BatchResponse below will end up as part of the list
- // passed to ConvertBatchToListOfResponsesCB.
- return handleKuduException ? new BatchResponse(responses, request.operationIndexes) : e;
- }
-
- @Override
- public String toString() {
- return "apply batch error response";
- }
- }
-
- request.getDeferred().addCallbacks(new BatchCallback(), new BatchErrCallback());
- }
/**
* Analogous to BatchErrCallback above but for AUTO_FLUSH_SYNC which doesn't handle lists of
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AuthzTokenCache.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AuthzTokenCache.java
index c774edf..c83b1e5 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AuthzTokenCache.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AuthzTokenCache.java
@@ -132,7 +132,7 @@ public class AuthzTokenCache {
pendingRetries = retriesForTable.remove(tableId);
}
Preconditions.checkState(!pendingRetries.isEmpty(),
- "no pending retries for table " + tableId);
+ "no pending retries for table %s", tableId);
return pendingRetries;
}
@@ -150,7 +150,7 @@ public class AuthzTokenCache {
@Nonnull Callback<Void, GetTableSchemaResponse> cb,
@Nonnull Callback<Void, Exception> eb) {
String tableId = parentRpc.getTable().getTableId();
- LOG.debug("sending RPC to retrieve token for table ID " + tableId);
+ LOG.debug("sending RPC to retrieve token for table ID {}", tableId);
GetTableSchemaRequest retrieveAuthzTokenReq = new GetTableSchemaRequest(
client.getMasterTable(), tableId, /*name=*/null, client.getTimer(),
client.getDefaultAdminOperationTimeoutMs(), /*requiresAuthzTokenSupport=*/true);
@@ -190,7 +190,7 @@ public class AuthzTokenCache {
throw new NonRecoverableException(
Status.InvalidArgument("no authz token retrieved for " + tableId));
}
- LOG.debug("retrieved authz token for " + tableId);
+ LOG.debug("retrieved authz token for {}", tableId);
put(tableId, resp.getAuthzToken());
for (RpcAndException rpcAndEx : clearPendingRetries(tableId)) {
client.handleRetryableErrorNoDelay(rpcAndEx.rpc, rpcAndEx.ex);
@@ -237,7 +237,7 @@ public class AuthzTokenCache {
sendRetrievalForRpc(rpc, newTokenCB, newTokenErrB);
} else {
Preconditions.checkState(!pendingRetries.isEmpty(),
- "no pending retries for table " + tableId);
+ "no pending retries for table %s", tableId);
pendingRetries.add(rpcAndEx);
}
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnarRowResultIterator.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnarRowResultIterator.java
index 07e5d9e..78d631d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnarRowResultIterator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnarRowResultIterator.java
@@ -56,14 +56,14 @@ class ColumnarRowResultIterator extends RowResultIterator {
* @param reuseRowResult reuse same row result for next row
*/
ColumnarRowResultIterator(long elapsedMillis,
- String tsUUID,
- Schema schema,
- int numRows,
- Slice[] data,
- Slice[] varlenData,
- Slice[] nonNullBitmaps,
- boolean reuseRowResult) {
- super(elapsedMillis, tsUUID, schema, numRows, reuseRowResult);
+ String tsUUID,
+ Schema schema,
+ int numRows,
+ Slice[] data,
+ Slice[] varlenData,
+ Slice[] nonNullBitmaps,
+ boolean reuseRowResult) {
+ super(elapsedMillis, tsUUID, schema, numRows);
this.data = data;
this.varlenData = varlenData;
this.nonNullBitmaps = nonNullBitmaps;
@@ -77,8 +77,7 @@ class ColumnarRowResultIterator extends RowResultIterator {
Schema schema,
WireProtocol.ColumnarRowBlockPB data,
final CallResponse callResponse,
- boolean reuseRowResult)
- throws KuduException {
+ boolean reuseRowResult) {
if (data == null || data.getNumRows() == 0) {
return new ColumnarRowResultIterator(elapsedMillis, tsUUID, schema, 0,
null, null, null, reuseRowResult);
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
index f11da51..e25ab11 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
@@ -315,15 +315,6 @@ final class ConnectToCluster {
}
}
- private void recordKnownMasters(ConnectToMasterResponsePB r) {
- // Old versions don't set this field.
- if (r.getMasterAddrsCount() == 0) {
- return;
- }
-
- knownMasters.compareAndSet(null, r.getMasterAddrsList());
- }
-
/**
* Callback for each ConnectToCluster RPC sent in connectToMaster() above.
* If a request (paired to a specific master) returns a reply that indicates it's a leader,
@@ -364,6 +355,15 @@ final class ConnectToCluster {
public String toString() {
return "ConnectToMasterCB for " + hostAndPort.toString();
}
+
+ private void recordKnownMasters(ConnectToMasterResponsePB r) {
+ // Old versions don't set this field.
+ if (r.getMasterAddrsCount() == 0) {
+ return;
+ }
+
+ knownMasters.compareAndSet(null, r.getMasterAddrsList());
+ }
}
/**
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
index 8a0c713..18acebf 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
@@ -102,8 +102,8 @@ public class ConnectToMasterRequest extends KuduRpc<ConnectToMasterResponsePB> {
respBuilder.hasError() ? respBuilder.getError() : null);
}
- private Pair<ConnectToMasterResponsePB, Object> deserializeOldRpc(CallResponse callResponse)
- throws KuduException {
+ private Pair<ConnectToMasterResponsePB, Object> deserializeOldRpc(
+ CallResponse callResponse) {
final GetMasterRegistrationResponsePB.Builder resp =
GetMasterRegistrationResponsePB.newBuilder();
readProtobuf(callResponse.getPBMessage(), resp);
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
index 94dff93..8949d2b 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Map;
import com.google.common.base.Preconditions;
-import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.apache.yetus.audience.InterfaceAudience;
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
index 7c02ab4..16ece95 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
@@ -31,6 +31,10 @@ import org.apache.yetus.audience.InterfaceAudience;
*/
@InterfaceAudience.Private
public class IPCUtil {
+
+ private IPCUtil() {
+ }
+
/**
* Write out header, param, and cell block if there is one.
* @param dos
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
index 71a71ec..fd3ec69 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
@@ -469,7 +469,7 @@ class KeyEncoder {
sb.append(hashBuckets);
}
- if (partitionSchema.getRangeSchema().getColumnIds().size() > 0) {
+ if (!partitionSchema.getRangeSchema().getColumnIds().isEmpty()) {
if (!hashBuckets.isEmpty()) {
sb.append(", ");
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
index cf7806d..a77689b 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
@@ -41,7 +41,7 @@ import org.apache.kudu.master.Master.TableIdentifierPB;
@InterfaceStability.Evolving
public class KuduClient implements AutoCloseable {
- private static final Logger LOG = LoggerFactory.getLogger(AsyncKuduClient.class);
+ private static final Logger LOG = LoggerFactory.getLogger(KuduClient.class);
public static final long NO_TIMESTAMP = -1;
@InterfaceAudience.LimitedPrivate("Test")
@@ -542,7 +542,8 @@ public class KuduClient implements AutoCloseable {
* @return this builder
* @deprecated socket read timeouts are no longer used
*/
- @Deprecated public KuduClientBuilder defaultSocketReadTimeoutMs(long timeoutMs) {
+ @Deprecated
+ public KuduClientBuilder defaultSocketReadTimeoutMs(long timeoutMs) {
LOG.info("defaultSocketReadTimeoutMs is deprecated");
return this;
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java
index f8dae24..67c611e 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java
@@ -24,7 +24,6 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Date;
import java.sql.Timestamp;
-import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduSession.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduSession.java
index 0916467..8f0870e 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduSession.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduSession.java
@@ -121,7 +121,7 @@ public class KuduSession implements SessionConfiguration {
}
@Override
- public void setFlushMode(AsyncKuduSession.FlushMode flushMode) {
+ public void setFlushMode(FlushMode flushMode) {
session.setFlushMode(flushMode);
}
@@ -135,6 +135,9 @@ public class KuduSession implements SessionConfiguration {
session.setErrorCollectorSpace(size);
}
+ /**
+ * @deprecated
+ */
@Override
@Deprecated
public void setMutationBufferLowWatermark(float mutationBufferLowWatermarkPercentage) {
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java b/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java
index 63c2a15..8003a15 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java
@@ -57,7 +57,7 @@ public class LocatedTablet {
}
/**
- * DEPRECATED: use {@link #getPartition()}
+ * @deprecated use {@link #getPartition()}
*/
@Deprecated
public byte[] getStartKey() {
@@ -65,7 +65,7 @@ public class LocatedTablet {
}
/**
- * DEPRECATED: use {@link #getPartition()}
+ * @deprecated use {@link #getPartition()}
*/
@Deprecated()
public byte[] getEndKey() {
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/RowResultIterator.java b/java/kudu-client/src/main/java/org/apache/kudu/client/RowResultIterator.java
index d9abc30..8c3cf05 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/RowResultIterator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/RowResultIterator.java
@@ -45,11 +45,10 @@ public abstract class RowResultIterator extends KuduRpcResponse implements Itera
* @param schema schema used to parse the rows
* @param numRows how many rows are contained in the bs slice
*/
- protected RowResultIterator(long elapsedMillis,
- String tsUUID,
- Schema schema,
- int numRows,
- boolean reuseRowResult) {
+ RowResultIterator(long elapsedMillis,
+ String tsUUID,
+ Schema schema,
+ int numRows) {
super(elapsedMillis, tsUUID);
this.schema = schema;
this.numRows = numRows;
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/RowwiseRowResultIterator.java b/java/kudu-client/src/main/java/org/apache/kudu/client/RowwiseRowResultIterator.java
index 9c6c440..d2d9a0b 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/RowwiseRowResultIterator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/RowwiseRowResultIterator.java
@@ -53,13 +53,13 @@ class RowwiseRowResultIterator extends RowResultIterator {
* @param reuseRowResult reuse same row result for next row
*/
RowwiseRowResultIterator(long elapsedMillis,
- String tsUUID,
- Schema schema,
- int numRows,
- Slice bs,
- Slice indirectBs,
- boolean reuseRowResult) {
- super(elapsedMillis, tsUUID, schema, numRows, reuseRowResult);
+ String tsUUID,
+ Schema schema,
+ int numRows,
+ Slice bs,
+ Slice indirectBs,
+ boolean reuseRowResult) {
+ super(elapsedMillis, tsUUID, schema, numRows);
this.bs = bs;
this.indirectBs = indirectBs;
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java b/java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java
index ce0fd92..cf564b9 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java
@@ -128,7 +128,7 @@ class RpcProxy {
// Throw an exception to enable testing failures. See `failNextRpcs`.
if (staticNumFail > 0) {
staticNumFail--;
- LOG.warn("Forcing a failure on sendRpc: " + rpc);
+ LOG.warn("Forcing a failure on sendRpc: {}", rpc);
throw staticException;
}
if (!rpc.getRequiredFeatures().isEmpty()) {
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/SessionConfiguration.java b/java/kudu-client/src/main/java/org/apache/kudu/client/SessionConfiguration.java
index c2071b6..d3e942d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/SessionConfiguration.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/SessionConfiguration.java
@@ -104,6 +104,7 @@ public interface SessionConfiguration {
* 0 and 1
* @deprecated The low watermark no longer has any effect.
*/
+ @Deprecated
void setMutationBufferLowWatermark(float mutationBufferLowWatermarkPercentage);
/**
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Statistics.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Statistics.java
index ca87151..c4b0c0f 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Statistics.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Statistics.java
@@ -152,7 +152,7 @@ public class Statistics {
// which is only a Map method in Java 8.
//
// See KUDU-2188 for details.
- for (String tablet : ((Map<String, Statistics.TabletStatistics>) stsMap).keySet()) {
+ for (String tablet : stsMap.keySet()) {
tablets.add(tablet);
}
return tablets;
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/AsyncUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/AsyncUtil.java
index 57d2c23..3bfacff 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/AsyncUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/AsyncUtil.java
@@ -29,6 +29,10 @@ import org.apache.yetus.audience.InterfaceAudience;
@InterfaceAudience.Private
public class AsyncUtil {
+ /** Non-constructable utility class. */
+ private AsyncUtil() {
+ }
+
/**
* Register a callback and an "errback".
* <p>
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/CharUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/CharUtil.java
index 98ed31a..e08879b 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/CharUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/CharUtil.java
@@ -26,6 +26,10 @@ public class CharUtil {
public static final int MIN_VARCHAR_LENGTH = 1;
public static final int MAX_VARCHAR_LENGTH = 65535;
+ /** Non-constructable utility class. */
+ private CharUtil() {
+ }
+
/**
* Convenience method to create column type attributes for VARCHAR columns.
* @param length the length.
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java b/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
index 07a11a2..b20010c 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
@@ -249,7 +249,4 @@ public class DataGenerator {
);
}
}
-}
-
-
-
+}
\ No newline at end of file
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/DateUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/DateUtil.java
index af1c7d6..f71da3e 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/DateUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/DateUtil.java
@@ -29,6 +29,10 @@ public class DateUtil {
public static final int MAX_DATE_VALUE =
(int)LocalDate.parse("9999-12-31").toEpochDay(); // 2932896
+ /** Non-constructable utility class. */
+ private DateUtil() {
+ }
+
/**
* Check whether the date is within the range '0001-01-01':'9999-12-31'
*
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/DecimalUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/DecimalUtil.java
index 83ec926..a3a9871 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/DecimalUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/DecimalUtil.java
@@ -49,6 +49,10 @@ public class DecimalUtil {
public static final int MIN_DECIMAL_PRECISION = 1;
public static final int MAX_DECIMAL_PRECISION = MAX_DECIMAL128_PRECISION;
+ /** Non-constructable utility class. */
+ private DecimalUtil() {
+ }
+
/**
* Given a precision, returns the size of the Decimal in Bytes.
* @return the size in Bytes.
@@ -151,5 +155,4 @@ public class DecimalUtil {
.scale(scale)
.build();
}
-
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/HashUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/HashUtil.java
index 9d27d4d..c2bfa20 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/HashUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/HashUtil.java
@@ -38,6 +38,10 @@ public class HashUtil {
HASH_VAL_NULL_BYTE_BUF[3] = (byte) (HASH_VAL_NULL >>> 24);
}
+ /** Non-constructable utility class. */
+ private HashUtil() {
+ }
+
/**
* Compute 64-bit FastHash of the supplied data backed by byte array.
*
@@ -131,4 +135,4 @@ public class HashUtil {
h ^= h >>> 47;
return h;
}
-}
+}
\ No newline at end of file
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/HybridTimeUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/HybridTimeUtil.java
index 4584ec7..0672a62 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/HybridTimeUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/HybridTimeUtil.java
@@ -30,6 +30,10 @@ public class HybridTimeUtil {
public static final int hybridTimeNumBitsToShift = 12;
public static final int hybridTimeLogicalBitsMask = (1 << hybridTimeNumBitsToShift) - 1;
+ /** Non-constructable utility class. */
+ private HybridTimeUtil() {
+ }
+
/**
* Converts the provided timestamp, in the provided unit, to the HybridTime timestamp
* format. Logical bits are set to 0.
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/NetUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/NetUtil.java
index 2da927a..26b1045 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/NetUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/NetUtil.java
@@ -42,6 +42,10 @@ public class NetUtil {
private static final Logger LOG = LoggerFactory.getLogger(NetUtil.class);
+ /** Non-constructable utility class. */
+ private NetUtil() {
+ }
+
/**
* Convert a list of {@link HostAndPort} objects to a comma separate string.
* The inverse of {@link #parseStrings(String, int)}.
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java b/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
index ee248a0..6613b84 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
@@ -242,7 +242,7 @@ public class SchemaGenerator {
default: throw new IllegalArgumentException("Unsupported type " + type);
}
- if (validEncodings.size() == 0) {
+ if (validEncodings.isEmpty()) {
throw new IllegalArgumentException("There are no valid encodings for type " + type);
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/StringUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/StringUtil.java
index 88bd436..fe2855d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/StringUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/StringUtil.java
@@ -22,6 +22,10 @@ import org.apache.yetus.audience.InterfaceAudience;
@InterfaceAudience.Private
public class StringUtil {
+ /** Non-constructable utility class. */
+ private StringUtil() {
+ }
+
/**
* Escapes the provided string and appends it to the string builder. The
* escaping is done according to the Hive/Impala escaping rules. Adapted from
@@ -84,8 +88,4 @@ public class StringUtil {
}
}
}
-
- /** Non-constructable utility class. */
- private StringUtil() {
- }
}
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/TimestampUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/util/TimestampUtil.java
index a6dde24..71d4053 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/TimestampUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/TimestampUtil.java
@@ -28,6 +28,10 @@ import org.apache.yetus.audience.InterfaceAudience;
@InterfaceAudience.Private
public class TimestampUtil {
+ /** Non-constructable utility class. */
+ private TimestampUtil() {
+ }
+
// Thread local DateFormat since they're not thread-safe.
private static final ThreadLocal<DateFormat> DATE_FORMAT = new ThreadLocal<DateFormat>() {
@Override