You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2017/04/18 10:30:59 UTC
hbase git commit: HBASE-17930 Avoid using Canary.sniff in
HBaseTestingUtility
Repository: hbase
Updated Branches:
refs/heads/master b35121d90 -> 75d1e0361
HBASE-17930 Avoid using Canary.sniff in HBaseTestingUtility
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/75d1e036
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/75d1e036
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/75d1e036
Branch: refs/heads/master
Commit: 75d1e0361ac0f7e88ebb330f32b0e62cde997d0c
Parents: b35121d
Author: zhangduo <zh...@apache.org>
Authored: Mon Apr 17 17:26:23 2017 +0800
Committer: zhangduo <zh...@apache.org>
Committed: Tue Apr 18 18:07:25 2017 +0800
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/tool/Canary.java | 46 +-------------------
.../hadoop/hbase/HBaseTestingUtility.java | 20 ++++++---
2 files changed, 16 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/75d1e036/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java
index ee93cdb..9b048ea 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java
@@ -69,6 +69,7 @@ import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.TableNotEnabledException;
import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
@@ -78,7 +79,6 @@ import org.apache.hadoop.hbase.client.RegionLocator;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
-import org.apache.hadoop.hbase.client.Scan.ReadType;
import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
import org.apache.hadoop.hbase.tool.Canary.RegionTask.TaskType;
import org.apache.hadoop.hbase.util.Bytes;
@@ -110,6 +110,7 @@ import org.apache.zookeeper.data.Stat;
* 3. zookeeper mode - for each zookeeper instance, selects a zNode and
* outputs some information about failure or latency.
*/
+@InterfaceAudience.Private
public final class Canary implements Tool {
// Sink interface used by the canary to outputs information
public interface Sink {
@@ -1110,49 +1111,6 @@ public final class Canary implements Tool {
* Canary entry point for specified table.
* @throws Exception
*/
- public static void sniff(final Admin admin, TableName tableName, boolean rawScanEnabled)
- throws Exception {
- sniff(admin, tableName, TaskType.READ, rawScanEnabled);
- }
-
- /**
- * Canary entry point for specified table.
- * Keeping this method backward compatibility
- * @throws Exception
- */
- public static void sniff(final Admin admin, TableName tableName)
- throws Exception {
- sniff(admin, tableName, TaskType.READ, false);
- }
-
- /**
- * Canary entry point for specified table with task type(read/write)
- * @throws Exception
- */
- public static void sniff(final Admin admin, TableName tableName, TaskType taskType,
- boolean rawScanEnabled) throws Exception {
- List<Future<Void>> taskFutures =
- Canary.sniff(admin, new StdOutSink(), tableName.getNameAsString(),
- new ScheduledThreadPoolExecutor(1), taskType, rawScanEnabled);
- for (Future<Void> future : taskFutures) {
- future.get();
- }
- }
-
- /**
- * Canary entry point for specified table with task type(read/write)
- * Keeping this method backward compatible
- * @throws Exception
- */
- public static void sniff(final Admin admin, TableName tableName, TaskType taskType)
- throws Exception {
- Canary.sniff(admin, tableName, taskType, false);
- }
-
- /**
- * Canary entry point for specified table.
- * @throws Exception
- */
private static List<Future<Void>> sniff(final Admin admin, final Sink sink, String tableName,
ExecutorService executor, TaskType taskType, boolean rawScanEnabled) throws Exception {
if (LOG.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/75d1e036/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
index 82c2eab..acf2af0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
@@ -70,7 +70,6 @@ import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
-import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.RegionLocator;
import org.apache.hadoop.hbase.client.Result;
@@ -106,7 +105,6 @@ import org.apache.hadoop.hbase.security.HBaseKerberosUtils;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.security.visibility.VisibilityLabelsCache;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
-import org.apache.hadoop.hbase.tool.Canary;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSTableDescriptors;
import org.apache.hadoop.hbase.util.FSUtils;
@@ -4045,10 +4043,20 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility {
public boolean evaluate() throws IOException {
boolean tableAvailable = getAdmin().isTableAvailable(tableName);
if (tableAvailable) {
- try {
- Canary.sniff(getAdmin(), tableName);
- } catch (Exception e) {
- throw new IOException("Canary sniff failed for table " + tableName, e);
+ try (Table table = getConnection().getTable(tableName)) {
+ HTableDescriptor htd = table.getTableDescriptor();
+ for (HRegionLocation loc : getConnection().getRegionLocator(tableName)
+ .getAllRegionLocations()) {
+ Scan scan = new Scan().withStartRow(loc.getRegionInfo().getStartKey())
+ .withStopRow(loc.getRegionInfo().getEndKey()).setOneRowLimit()
+ .setMaxResultsPerColumnFamily(1).setCacheBlocks(false);
+ for (byte[] family : htd.getFamiliesKeys()) {
+ scan.addFamily(family);
+ }
+ try (ResultScanner scanner = table.getScanner(scan)) {
+ scanner.next();
+ }
+ }
}
}
return tableAvailable;