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 <[email protected]> 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 <[email protected]> Reviewed-by: Grant Henke <[email protected]> --- .../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
