From 14b90557cb17c0b95809f584f2de9e639aa91004 Mon Sep 17 00:00:00 2001 From: zhangduo Date: Sat, 16 Feb 2019 08:44:49 +0800 Subject: [PATCH] HBASE-21908 Remove Scan.getScanMetrics --- .../org/apache/hadoop/hbase/client/Scan.java | 36 +++---------------- .../hbase/ScanPerformanceEvaluation.java | 2 +- .../hbase/client/TestFromClientSide.java | 10 +++--- 3 files changed, 10 insertions(+), 38 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java index d4aff047a3..23bb5ce26f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java @@ -28,19 +28,17 @@ import java.util.Map; import java.util.NavigableSet; import java.util.TreeMap; import java.util.TreeSet; - import org.apache.hadoop.hbase.HConstants; -import org.apache.yetus.audience.InterfaceAudience; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.apache.hadoop.hbase.client.metrics.ScanMetrics; import org.apache.hadoop.hbase.filter.Filter; import org.apache.hadoop.hbase.filter.IncompatibleFilterException; import org.apache.hadoop.hbase.io.TimeRange; import org.apache.hadoop.hbase.security.access.Permission; import org.apache.hadoop.hbase.security.visibility.Authorizations; -import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Used to perform Scan operations. @@ -114,19 +112,7 @@ public class Scan extends Query { private int storeLimit = -1; private int storeOffset = 0; - /** - * @deprecated since 1.0.0. Use {@link #setScanMetricsEnabled(boolean)} - */ - // Make private or remove. - @Deprecated - static public final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable"; - - /** - * Use {@link #getScanMetrics()} - */ - // Make this private or remove. - @Deprecated - static public final String SCAN_ATTRIBUTES_METRICS_DATA = "scan.attributes.metrics.data"; + private static final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable"; // If an application wants to use multiple scans over different tables each scan must // define this attribute with the appropriate table name by calling @@ -1123,20 +1109,6 @@ public class Scan extends Query { return attr == null ? false : Bytes.toBoolean(attr); } - /** - * @return Metrics on this Scan, if metrics were enabled. - * @see #setScanMetricsEnabled(boolean) - * @deprecated Use {@link ResultScanner#getScanMetrics()} instead. And notice that, please do not - * use this method and {@link ResultScanner#getScanMetrics()} together, the metrics - * will be messed up. - */ - @Deprecated - public ScanMetrics getScanMetrics() { - byte[] bytes = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_DATA); - if (bytes == null) return null; - return ProtobufUtil.toScanMetrics(bytes); - } - public Boolean isAsyncPrefetch() { return asyncPrefetch; } diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/ScanPerformanceEvaluation.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/ScanPerformanceEvaluation.java index c181b19752..8b706875e1 100644 --- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/ScanPerformanceEvaluation.java +++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/ScanPerformanceEvaluation.java @@ -175,7 +175,7 @@ public class ScanPerformanceEvaluation extends AbstractHBaseTool { table.close(); connection.close(); - ScanMetrics metrics = scan.getScanMetrics(); + ScanMetrics metrics = scanner.getScanMetrics(); long totalBytes = metrics.countOfBytesInResults.get(); double throughput = (double)totalBytes / scanTimer.elapsed(TimeUnit.SECONDS); double throughputRows = (double)numRows / scanTimer.elapsed(TimeUnit.SECONDS); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java index c74c3c68e1..824a06ea8f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java @@ -5115,7 +5115,7 @@ public class TestFromClientSide { LOG.info("test data has " + numRecords + " records."); // by default, scan metrics collection is turned off - assertEquals(null, scan1.getScanMetrics()); + assertEquals(null, scanner.getScanMetrics()); // turn on scan metrics Scan scan2 = new Scan(); @@ -5126,7 +5126,7 @@ public class TestFromClientSide { } scanner.close(); // closing the scanner will set the metrics. - assertNotNull(scan2.getScanMetrics()); + assertNotNull(scanner.getScanMetrics()); // set caching to 1, because metrics are collected in each roundtrip only scan2 = new Scan(); @@ -5139,7 +5139,7 @@ public class TestFromClientSide { } scanner.close(); - ScanMetrics scanMetrics = scan2.getScanMetrics(); + ScanMetrics scanMetrics = scanner.getScanMetrics(); assertEquals("Did not access all the regions in the table", numOfRegions, scanMetrics.countOfRegions.get()); @@ -5155,7 +5155,7 @@ public class TestFromClientSide { } } scanner.close(); - scanMetrics = scan2.getScanMetrics(); + scanMetrics = scanner.getScanMetrics(); assertEquals("Did not count the result bytes", numBytes, scanMetrics.countOfBytesInResults.get()); @@ -5172,7 +5172,7 @@ public class TestFromClientSide { } } scanner.close(); - scanMetrics = scan2.getScanMetrics(); + scanMetrics = scanner.getScanMetrics(); assertEquals("Did not count the result bytes", numBytes, scanMetrics.countOfBytesInResults.get()); -- 2.17.1