diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java index 51a2e722955a..f47f5add0dab 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java @@ -694,10 +694,9 @@ public double st public double std(final Table table, ColumnInterpreter ci, Scan scan) throws Throwable { Pair, Long> p = getStdArgs(table, ci, scan); - double res = 0d; double avg = ci.divideForAvg(p.getFirst().get(0), p.getSecond()); double avgOfSumSq = ci.divideForAvg(p.getFirst().get(1), p.getSecond()); - res = avgOfSumSq - (avg) * (avg); // variance + double res = avgOfSumSq - avg * avg; // variance res = Math.pow(res, 0.5); return res; } @@ -870,14 +869,6 @@ public R median( } byte[] getBytesFromResponse(ByteString response) { - ByteBuffer bb = response.asReadOnlyByteBuffer(); - bb.rewind(); - byte[] bytes; - if (bb.hasArray()) { - bytes = bb.array(); - } else { - bytes = response.toByteArray(); - } - return bytes; + return response.toByteArray(); } } diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationHelper.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationHelper.java index 0f212e6d8673..e7fa76ca2747 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationHelper.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationHelper.java @@ -86,7 +86,7 @@ private static void validateParameters(Scan scan, boolean canFamilyBeAbsent) thr * @return the instance * @throws IOException Either we couldn't instantiate the method object, or "parseFrom" failed. */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "TypeParameterUnusedInFormals" }) // Used server-side too by Aggregation Coprocesor Endpoint. Undo this interdependence. TODO. public static T getParsedGenericInstance(Class runtimeClass, int position, ByteString b) throws IOException { diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java index 84d8c1fbf354..6adb9fc22eb7 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java @@ -26,6 +26,7 @@ import java.util.Collections; import java.util.List; import java.util.NavigableSet; +import org.apache.commons.io.IOUtils; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.client.Scan; @@ -52,12 +53,12 @@ * aggregate function at a region level. {@link ColumnInterpreter} is used to interpret column * value. This class is parameterized with the following (these are the types with which the * {@link ColumnInterpreter} is parameterized, and for more description on these, refer to - * {@link ColumnInterpreter}): - * @param Cell value data type - * @param Promoted data type - * @param

PB message that is used to transport initializer specific bytes - * @param PB message that is used to transport Cell (<T>) instance - * @param PB message that is used to transport Promoted (<S>) instance + * {@link ColumnInterpreter}):
+ * <T> Cell value data type
+ * <S> Promoted data type
+ * <P> PB message that is used to transport initializer specific bytes
+ * <Q> PB message that is used to transport Cell (<T>) instance
+ * <R> PB message that is used to transport Promoted (<S>) instance
*/ @InterfaceAudience.Private public class AggregateImplementation @@ -109,10 +110,7 @@ public void getMax(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } log.info("Maximum from this region is " @@ -162,10 +160,7 @@ public void getMin(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } log.info("Minimum from this region is " @@ -218,10 +213,7 @@ public void getSum(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } log.debug("Sum from this region is " + env.getRegion().getRegionInfo().getRegionNameAsString() @@ -269,10 +261,7 @@ public void getRowNum(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } log.info("Row counter from this region is " @@ -333,10 +322,7 @@ public void getAvg(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } done.run(response); @@ -399,10 +385,7 @@ public void getStd(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } done.run(response); @@ -464,10 +447,7 @@ public void getMedian(RpcController controller, AggregateRequest request, CoprocessorRpcUtils.setControllerException(controller, e); } finally { if (scanner != null) { - try { - scanner.close(); - } catch (IOException ignored) { - } + IOUtils.closeQuietly(scanner); } } done.run(response); diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java index b763d5750521..f6a51bbf0b0e 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java @@ -22,7 +22,6 @@ import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -111,6 +110,7 @@ static Map run(final Configuration conf, final String[] args) return run(conf, arguments.getFirst(), arguments.getSecond(), arguments.getThird()); } + @SuppressWarnings("ModifiedButNotUsed") public static Map run(final Configuration conf, TableName tableName, Scan scan, Path dir) throws Throwable { FileSystem fs = dir.getFileSystem(conf); @@ -127,7 +127,6 @@ public static Map run(final Configuration conf, TableName tabl table.coprocessorService(ExportProtos.ExportService.class, scan.getStartRow(), scan.getStopRow(), (ExportProtos.ExportService service) -> { ServerRpcController controller = new ServerRpcController(); - Map rval = new TreeMap<>(Bytes.BYTES_COMPARATOR); CoprocessorRpcUtils.BlockingRpcCallback rpcCallback = new CoprocessorRpcUtils.BlockingRpcCallback<>(); service.export(controller, request, rpcCallback); @@ -192,7 +191,7 @@ private static SequenceFile.Writer.Option getOutputPath(final Configuration conf private static List getWriterOptions(final Configuration conf, final RegionInfo info, final ExportProtos.ExportRequest request) throws IOException { - List rval = new LinkedList<>(); + List rval = new ArrayList<>(5); rval.add(SequenceFile.Writer.keyClass(ImmutableBytesWritable.class)); rval.add(SequenceFile.Writer.valueClass(Result.class)); rval.add(getOutputPath(conf, info, request)); diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAggregationClient.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAggregationClient.java index 426ec0573d30..78f2f194f0bd 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAggregationClient.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAggregationClient.java @@ -56,7 +56,7 @@ public class TestAsyncAggregationClient { private static byte[] CQ2 = Bytes.toBytes("CQ2"); - private static int COUNT = 1000; + private static long COUNT = 1000; private static AsyncConnection CONN; @@ -141,7 +141,7 @@ public void testMedian() throws InterruptedException, ExecutionException { long halfSum = COUNT * (COUNT - 1) / 4; long median = 0L; long sum = 0L; - for (int i = 0; i < COUNT; i++) { + for (long i = 0; i < COUNT; i++) { sum += i; if (sum > halfSum) { median = i - 1; @@ -158,7 +158,7 @@ public void testMedianWithWeight() throws InterruptedException, ExecutionExcepti LongStream.range(0, COUNT).map(l -> l * l).reduce((l1, l2) -> l1 + l2).getAsLong() / 2; long median = 0L; long sum = 0L; - for (int i = 0; i < COUNT; i++) { + for (long i = 0; i < COUNT; i++) { sum += i * i; if (sum > halfSum) { median = i - 1; diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java index 6b62d67a9697..9d122fb0b81c 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java @@ -192,7 +192,7 @@ public void testCountController() throws Exception { // reversed, regular scanInfo.setReadType(ReadType.STREAM); - counter = doScan(table, scanInfo, counter + 1); + doScan(table, scanInfo, counter + 1); // make sure we have no priority count verifyPriorityGroupCount(HConstants.ADMIN_QOS, 0); diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/coprocessor/TestAggregationClient.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/coprocessor/TestAggregationClient.java index 2d8419c12cbb..237482498628 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/coprocessor/TestAggregationClient.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/coprocessor/TestAggregationClient.java @@ -83,8 +83,7 @@ public void itCreatesConnectionless() throws Throwable { try { client.rowCount(TABLE_NAME, new LongColumnInterpreter(), new Scan()); fail("Expected IOException"); - } catch (Throwable e) { - assertTrue(e instanceof IOException); + } catch (IOException e) { assertTrue(e.getMessage().contains("Connection not initialized")); } diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestBatchCoprocessorEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestBatchCoprocessorEndpoint.java index 278fc7643f10..892fa7783e7b 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestBatchCoprocessorEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestBatchCoprocessorEndpoint.java @@ -130,14 +130,14 @@ public void testAggregationNullResponse() throws Throwable { builder.build(), ROWS[0], ROWS[ROWS.length - 1], ColumnAggregationNullResponseSumResponse.getDefaultInstance()); - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { LOG.info( "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = 0; i < rowSeperator2; i++) { + for (long i = 0; i < rowSeperator2; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -171,14 +171,14 @@ public void testAggregationWithReturnValue() throws Throwable { Table table = util.getConnection().getTable(TEST_TABLE); Map results = sum(table, TEST_FAMILY, TEST_QUALIFIER, ROWS[0], ROWS[ROWS.length - 1]); - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { LOG.info( "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = 0; i < ROWSIZE; i++) { + for (long i = 0; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -194,7 +194,7 @@ public void testAggregationWithReturnValue() throws Throwable { "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = rowSeperator1; i < ROWSIZE; i++) { + for (long i = rowSeperator1; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -206,14 +206,14 @@ public void testAggregation() throws Throwable { Table table = util.getConnection().getTable(TEST_TABLE); Map results = sum(table, TEST_FAMILY, TEST_QUALIFIER, ROWS[0], ROWS[ROWS.length - 1]); - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { LOG.info( "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = 0; i < ROWSIZE; i++) { + for (long i = 0; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -227,7 +227,7 @@ public void testAggregation() throws Throwable { "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = rowSeperator1; i < ROWSIZE; i++) { + for (long i = rowSeperator1; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -266,14 +266,14 @@ public void update(byte[] region, byte[] row, hasError = true; } - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { LOG.info( "Got value " + e.getValue().getSum() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue().getSum(); } - for (int i = 0; i < rowSeperator2; i++) { + for (long i = 0; i < rowSeperator2; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java index c479b3bee56e..285fab3273be 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java @@ -146,13 +146,13 @@ public void testAggregation() throws Throwable { Table table = util.getConnection().getTable(TEST_TABLE); Map results = sum(table, TEST_FAMILY, TEST_QUALIFIER, ROWS[0], ROWS[ROWS.length - 1]); - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { LOG.info("Got value " + e.getValue() + " for region " + Bytes.toStringBinary(e.getKey())); sumResult += e.getValue(); } - for (int i = 0; i < ROWSIZE; i++) { + for (long i = 0; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); @@ -271,6 +271,7 @@ public void testCoprocessorServiceNullResponse() throws Throwable { String> results = table.coprocessorService(TestRpcServiceProtos.TestProtobufRpcProto.class, ROWS[0], ROWS[ROWS.length - 1], new Batch.Call() { + @Override public String call(TestRpcServiceProtos.TestProtobufRpcProto instance) throws IOException { CoprocessorRpcUtils.BlockingRpcCallback callback = diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java index 5039d818c7ed..78760baf34aa 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java @@ -161,12 +161,12 @@ private static final void verifyTable(TableName tableName) throws Throwable { try { Map results = sum(table, TEST_FAMILY, TEST_QUALIFIER, ROWS[0], ROWS[ROWS.length - 1]); - int sumResult = 0; - int expectedResult = 0; + long sumResult = 0; + long expectedResult = 0; for (Map.Entry e : results.entrySet()) { sumResult += e.getValue(); } - for (int i = 0; i < ROWSIZE; i++) { + for (long i = 0; i < ROWSIZE; i++) { expectedResult += i; } assertEquals("Invalid result", expectedResult, sumResult); diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestImportExport.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestImportExport.java index cd9b474cf3e1..fa025e120c1f 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestImportExport.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestImportExport.java @@ -51,11 +51,10 @@ protected void runExportMain(String[] args) throws Throwable { Export.main(args); } - /** - * Skip the test which is unrelated to the coprocessor.Export. - */ @Test @Ignore + @Override public void testImport94Table() throws Throwable { + // Skip the test which is unrelated to the coprocessor.Export. } } diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestSecureExport.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestSecureExport.java index 0ac9424c092b..3b000be70f5e 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestSecureExport.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestSecureExport.java @@ -22,8 +22,8 @@ import java.io.File; import java.io.IOException; import java.security.PrivilegedExceptionAction; +import java.util.ArrayList; import java.util.Arrays; -import java.util.LinkedList; import java.util.List; import java.util.Map; import org.apache.hadoop.conf.Configuration; @@ -39,7 +39,6 @@ import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; @@ -80,6 +79,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.collect.Iterables; import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException; import org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos; @@ -338,7 +338,7 @@ public void testVisibilityLabels() throws IOException, Throwable { return null; }; SecureTestUtil.verifyAllowed(putAction, getUserByLogin(USER_OWNER)); - List, Integer>> labelsAndRowCounts = new LinkedList<>(); + List, Integer>> labelsAndRowCounts = new ArrayList<>(5); labelsAndRowCounts.add(new Pair<>(Arrays.asList(SECRET), 1)); labelsAndRowCounts.add(new Pair<>(Arrays.asList(PRIVATE, CONFIDENTIAL), 1)); labelsAndRowCounts.add(new Pair<>(Arrays.asList(TOPSECRET), 1)); @@ -389,11 +389,7 @@ public void testVisibilityLabels() throws IOException, Throwable { try (Connection conn = ConnectionFactory.createConnection(UTIL.getConfiguration()); Table table = conn.getTable(importHtd.getTableName()); ResultScanner scanner = table.getScanner(scan)) { - int count = 0; - for (Result r : scanner) { - ++count; - } - assertEquals(rowCount, count); + assertEquals(rowCount, Iterables.size(scanner)); } return null; };