This is an automated email from the ASF dual-hosted git repository.
apurtell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new ac8b3a795f4 HBASE-27210 Clean up error-prone findings in
hbase-endpoint (#4646)
ac8b3a795f4 is described below
commit ac8b3a795f44d3837a42ce128e6786e2c8374646
Author: Andrew Purtell <[email protected]>
AuthorDate: Tue Jul 26 17:33:35 2022 -0700
HBASE-27210 Clean up error-prone findings in hbase-endpoint (#4646)
Signed-off-by: Duo Zhang <[email protected]>
---
.../client/coprocessor/AggregationClient.java | 13 +-----
.../client/coprocessor/AggregationHelper.java | 2 +-
.../hbase/coprocessor/AggregateImplementation.java | 48 +++++++---------------
.../apache/hadoop/hbase/coprocessor/Export.java | 5 +--
.../hbase/client/TestAsyncAggregationClient.java | 6 +--
.../hbase/client/TestRpcControllerFactory.java | 2 +-
.../client/coprocessor/TestAggregationClient.java | 3 +-
.../coprocessor/TestBatchCoprocessorEndpoint.java | 28 ++++++-------
.../hbase/coprocessor/TestCoprocessorEndpoint.java | 7 ++--
.../coprocessor/TestCoprocessorTableEndpoint.java | 6 +--
.../hadoop/hbase/coprocessor/TestImportExport.java | 5 +--
.../hadoop/hbase/coprocessor/TestSecureExport.java | 12 ++----
12 files changed, 51 insertions(+), 86 deletions(-)
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 51a2e722955..f47f5add0da 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 class AggregationClient implements Closeable {
public <R, S, P extends Message, Q extends Message, T extends Message> double
std(final Table table, ColumnInterpreter<R, S, P, Q, T> ci, Scan scan)
throws Throwable {
Pair<List<S>, 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 class AggregationClient implements Closeable {
}
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 0f212e6d867..e7fa76ca274 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 @@ public final class AggregationHelper {
* @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 extends Message> 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 84d8c1fbf35..6adb9fc22eb 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.ArrayList;
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 @@ import
org.apache.hadoop.hbase.shaded.protobuf.generated.AggregateProtos.Aggrega
* 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 <T> Cell value data type
- * @param <S> Promoted data type
- * @param <P> PB message that is used to transport initializer specific bytes
- * @param <Q> PB message that is used to transport Cell (<T>) instance
- * @param <R> PB message that is used to transport Promoted (<S>)
instance
+ * {@link ColumnInterpreter}):<br>
+ * <T> Cell value data type<br>
+ * <S> Promoted data type<br>
+ * <P> PB message that is used to transport initializer specific
bytes<br>
+ * <Q> PB message that is used to transport Cell (<T>) instance<br>
+ * <R> PB message that is used to transport Promoted (<S>)
instance<br>
*/
@InterfaceAudience.Private
public class AggregateImplementation<T, S, P extends Message, Q extends
Message, R extends Message>
@@ -109,10 +110,7 @@ public class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 class AggregateImplementation<T, S, P extends
Message, Q extends Message,
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 b763d575052..f6a51bbf0b0 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.io.IOException;
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 @@ public class Export extends ExportProtos.ExportService
implements RegionCoproces
return run(conf, arguments.getFirst(), arguments.getSecond(),
arguments.getThird());
}
+ @SuppressWarnings("ModifiedButNotUsed")
public static Map<byte[], Response> run(final Configuration conf, TableName
tableName, Scan scan,
Path dir) throws Throwable {
FileSystem fs = dir.getFileSystem(conf);
@@ -127,7 +127,6 @@ public class Export extends ExportProtos.ExportService
implements RegionCoproces
table.coprocessorService(ExportProtos.ExportService.class,
scan.getStartRow(),
scan.getStopRow(), (ExportProtos.ExportService service) -> {
ServerRpcController controller = new ServerRpcController();
- Map<byte[], ExportProtos.ExportResponse> rval = new
TreeMap<>(Bytes.BYTES_COMPARATOR);
CoprocessorRpcUtils.BlockingRpcCallback<ExportProtos.ExportResponse>
rpcCallback =
new CoprocessorRpcUtils.BlockingRpcCallback<>();
service.export(controller, request, rpcCallback);
@@ -192,7 +191,7 @@ public class Export extends ExportProtos.ExportService
implements RegionCoproces
private static List<SequenceFile.Writer.Option> getWriterOptions(final
Configuration conf,
final RegionInfo info, final ExportProtos.ExportRequest request) throws
IOException {
- List<SequenceFile.Writer.Option> rval = new LinkedList<>();
+ List<SequenceFile.Writer.Option> 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 426ec0573d3..78f2f194f0b 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 class TestAsyncAggregationClient {
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 class TestAsyncAggregationClient {
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 6b62d67a969..9d122fb0b81 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 class TestRpcControllerFactory {
// 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 2d8419c12cb..23748249862 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 class TestAggregationClient {
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 278fc7643f1..892fa7783e7 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 class TestBatchCoprocessorEndpoint {
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<byte[], ColumnAggregationNullResponseSumResponse> 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 class TestBatchCoprocessorEndpoint {
Table table = util.getConnection().getTable(TEST_TABLE);
Map<byte[], SumResponse> 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<byte[], SumResponse> 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 class TestBatchCoprocessorEndpoint {
"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 class TestBatchCoprocessorEndpoint {
Table table = util.getConnection().getTable(TEST_TABLE);
Map<byte[], SumResponse> 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<byte[], SumResponse> 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 class TestBatchCoprocessorEndpoint {
"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 class TestBatchCoprocessorEndpoint {
hasError = true;
}
- int sumResult = 0;
- int expectedResult = 0;
+ long sumResult = 0;
+ long expectedResult = 0;
for (Map.Entry<byte[], ColumnAggregationWithErrorsSumResponse> 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 c479b3bee56..285fab3273b 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 class TestCoprocessorEndpoint {
Table table = util.getConnection().getTable(TEST_TABLE);
Map<byte[], Long> 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<byte[], Long> 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 class TestCoprocessorEndpoint {
String> results =
table.coprocessorService(TestRpcServiceProtos.TestProtobufRpcProto.class,
ROWS[0], ROWS[ROWS.length - 1],
new Batch.Call<TestRpcServiceProtos.TestProtobufRpcProto, String>() {
+ @Override
public String call(TestRpcServiceProtos.TestProtobufRpcProto
instance)
throws IOException {
CoprocessorRpcUtils.BlockingRpcCallback<TestProtos.EchoResponseProto> 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 5039d818c7e..78760baf34a 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 @@ public class TestCoprocessorTableEndpoint {
try {
Map<byte[], Long> 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<byte[], Long> 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 cd9b474cf3e..fa025e120c1 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 @@ public class TestImportExport extends
org.apache.hadoop.hbase.mapreduce.TestImpo
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 0ac9424c092..3b000be70f5 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 static org.junit.Assert.assertEquals;
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.ColumnFamilyDescriptorBuilder;
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.junit.rules.TestName;
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 class TestSecureExport {
return null;
};
SecureTestUtil.verifyAllowed(putAction, getUserByLogin(USER_OWNER));
- List<Pair<List<String>, Integer>> labelsAndRowCounts = new LinkedList<>();
+ List<Pair<List<String>, 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 class TestSecureExport {
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;
};