hbase git commit: HBASE-16091 Canary takes lot more time when there are delete markers in the table (Vishal Khandelwal)

2016-07-05 Thread apurtell
Repository: hbase
Updated Branches:
  refs/heads/master 29c46c483 -> 318751cfd


HBASE-16091 Canary takes lot more time when there are delete markers in the 
table (Vishal Khandelwal)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/318751cf
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/318751cf
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/318751cf

Branch: refs/heads/master
Commit: 318751cfd621cfb848d90d623fdd9db1d19894ed
Parents: 29c46c4
Author: Andrew Purtell 
Authored: Tue Jul 5 10:11:08 2016 -0700
Committer: Andrew Purtell 
Committed: Tue Jul 5 11:13:48 2016 -0700

--
 .../org/apache/hadoop/hbase/HConstants.java |  2 +
 .../org/apache/hadoop/hbase/tool/Canary.java| 63 +++-
 .../hadoop/hbase/tool/TestCanaryTool.java   | 22 +++
 3 files changed, 72 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/318751cf/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
--
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
index fa4ce64..0bc0a07 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
@@ -1244,6 +1244,8 @@ public final class HConstants {
 
   public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =
   "hbase.canary.write.table.check.period";
+  
+  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = 
"hbase.canary.read.raw.enabled";
 
   /**
* Configuration keys for programmatic JAAS configuration for secured ZK 
interaction

http://git-wip-us.apache.org/repos/asf/hbase/blob/318751cf/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 360b0f5..2e7cf7f 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
@@ -264,12 +264,15 @@ public final class Canary implements Tool {
 private HRegionInfo region;
 private Sink sink;
 private TaskType taskType;
+private boolean rawScanEnabled;
 
-RegionTask(Connection connection, HRegionInfo region, Sink sink, TaskType 
taskType) {
+RegionTask(Connection connection, HRegionInfo region, Sink sink, TaskType 
taskType,
+boolean rawScanEnabled) {
   this.connection = connection;
   this.region = region;
   this.sink = sink;
   this.taskType = taskType;
+  this.rawScanEnabled = rawScanEnabled;
 }
 
 @Override
@@ -323,7 +326,11 @@ public final class Canary implements Tool {
   get.addFamily(column.getName());
 } else {
   scan = new Scan();
-  scan.setRaw(true);
+  if (LOG.isDebugEnabled()) {
+LOG.debug(String.format("rawScan : %s for table: %s", 
rawScanEnabled,
+  tableDesc.getTableName()));
+  }
+  scan.setRaw(rawScanEnabled);
   scan.setCaching(1);
   scan.setCacheBlocks(false);
   scan.setFilter(new FirstKeyOnlyFilter());
@@ -749,6 +756,8 @@ public final class Canary implements Tool {
 System.err.println("   -treatFailureAsError treats read / write failure as 
error");
 System.err.println("   -writeTableThe table used for write sniffing."
 + " Default is hbase:canary");
+System.err.println("   -Dhbase.canary.read.raw.enabled= Use 
this flag to enable or disable raw scan during read canary test"
++ " Default is false and raw is not enabled during scan");
 System.err
 .println("   -D= assigning or override the 
configuration params");
 System.exit(USAGE_EXIT_CODE);
@@ -873,6 +882,7 @@ public final class Canary implements Tool {
 private float regionsLowerLimit;
 private float regionsUpperLimit;
 private int checkPeriod;
+private boolean rawScanEnabled;
 
 public RegionMonitor(Connection connection, String[] monitorTargets, 
boolean useRegExp,
 Sink sink, ExecutorService executor, boolean writeSniffing, TableName 
writeTableName,
@@ -890,6 +900,7 @@ public final class Canary implements Tool {
   this.checkPeriod =
   conf.getInt(HConstants.HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY,
 DEFAULT_WRITE_TABLE_CHECK_PERIOD);
+  this.rawScanEnabled = 
conf.getBoolean(HConstants.HBASE_CANARY_READ_RAW_SCAN_KEY, false);
 }
 
 @Override
@@ -901,7 +912,8 @@ public final class Can

[2/2] hbase git commit: HBASE-16091 Canary takes lot more time when there are delete markers in the table (Vishal Khandelwal)

2016-07-05 Thread apurtell
HBASE-16091 Canary takes lot more time when there are delete markers in the 
table (Vishal Khandelwal)

Conflicts:
hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java

hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java

Amending-Author: Andrew Purtell 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e3ef8b69
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e3ef8b69
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e3ef8b69

Branch: refs/heads/0.98
Commit: e3ef8b69bf6834b8a1b7e33aee53792e8ef1f7cb
Parents: 47c1960
Author: Andrew Purtell 
Authored: Tue Jul 5 10:11:08 2016 -0700
Committer: Andrew Purtell 
Committed: Tue Jul 5 11:10:26 2016 -0700

--
 .../org/apache/hadoop/hbase/HConstants.java |  4 +-
 .../org/apache/hadoop/hbase/tool/Canary.java| 51 +++-
 .../hadoop/hbase/tool/TestCanaryTool.java   | 22 +
 3 files changed, 63 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/e3ef8b69/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
--
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
index f046784..466c26f 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
@@ -1135,7 +1135,9 @@ public final class HConstants {
 
   public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =
   "hbase.canary.write.table.check.period";
-  
+
+  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = 
"hbase.canary.read.raw.enabled";
+
   /**
* Config keys for programmatic JAAS config for secured ZK interaction
*/

http://git-wip-us.apache.org/repos/asf/hbase/blob/e3ef8b69/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 4f2e5fe..51f162f 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
@@ -264,12 +264,15 @@ public final class Canary implements Tool {
 private HRegionInfo region;
 private Sink sink;
 private TaskType taskType;
+private boolean rawScanEnabled;
 
-RegionTask(HConnection connection, HRegionInfo region, Sink sink, TaskType 
taskType) {
+RegionTask(HConnection connection, HRegionInfo region, Sink sink, TaskType 
taskType,
+boolean rawScanEnabled) {
   this.connection = connection;
   this.region = region;
   this.sink = sink;
   this.taskType = taskType;
+  this.rawScanEnabled = rawScanEnabled;
 }
 
 @Override
@@ -323,6 +326,11 @@ public final class Canary implements Tool {
   get.addFamily(column.getName());
 } else {
   scan = new Scan();
+  if (LOG.isDebugEnabled()) {
+LOG.debug(String.format("rawScan : %s for table: %s", 
rawScanEnabled,
+  tableDesc.getTableName()));
+  }
+  scan.setRaw(rawScanEnabled);
   scan.setCaching(1);
   scan.setCacheBlocks(false);
   scan.setFilter(new FirstKeyOnlyFilter());
@@ -733,6 +741,8 @@ public final class Canary implements Tool {
 System.err.println("   -treatFailureAsError treats read / write failure as 
error");
 System.err.println("   -writeTableThe table used for write sniffing."
 + " Default is hbase:canary");
+System.err.println("   -Dhbase.canary.read.raw.enabled= Use 
this flag to enable or disable raw scan during read canary test"
++ " Default is false and raw is not enabled during scan");
 System.err
 .println("   -D= assigning or override the 
configuration params");
 System.exit(USAGE_EXIT_CODE);
@@ -855,6 +865,7 @@ public final class Canary implements Tool {
 private float regionsLowerLimit;
 private float regionsUpperLimit;
 private int checkPeriod;
+private boolean rawScanEnabled;
 
 public RegionMonitor(HConnection connection, String[] monitorTargets, 
boolean useRegExp,
 Sink sink, ExecutorService executor, boolean writeSniffing, TableName 
writeTableName,
@@ -872,6 +883,7 @@ public final class Canary implements Tool {
   this.checkPeriod =
   conf.getInt(HConstants.HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY,
 DEFAULT_WRITE_TABLE_CHECK_PER

[1/2] hbase git commit: HBASE-16091 Canary takes lot more time when there are delete markers in the table (Vishal Khandelwal)

2016-07-05 Thread apurtell
Repository: hbase
Updated Branches:
  refs/heads/0.98 47c19607c -> e3ef8b69b
  refs/heads/branch-1 84dd9cbcb -> 8efc6148b


HBASE-16091 Canary takes lot more time when there are delete markers in the 
table (Vishal Khandelwal)

Conflicts:
hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java

Amending-Author: Andrew Purtell 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8efc6148
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8efc6148
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8efc6148

Branch: refs/heads/branch-1
Commit: 8efc6148b9ccaa29d2608d1d7348d0d3c5d8158d
Parents: 84dd9cb
Author: Andrew Purtell 
Authored: Tue Jul 5 10:11:08 2016 -0700
Committer: Andrew Purtell 
Committed: Tue Jul 5 10:34:27 2016 -0700

--
 .../org/apache/hadoop/hbase/HConstants.java |  2 +
 .../org/apache/hadoop/hbase/tool/Canary.java| 62 +++-
 .../hadoop/hbase/tool/TestCanaryTool.java   | 29 +++--
 3 files changed, 73 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/8efc6148/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
--
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
index e062989..769945b 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
@@ -1237,6 +1237,8 @@ public final class HConstants {
 
   public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =
   "hbase.canary.write.table.check.period";
+  
+  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = 
"hbase.canary.read.raw.enabled";
 
   /**
* Configuration keys for programmatic JAAS configuration for secured ZK 
interaction

http://git-wip-us.apache.org/repos/asf/hbase/blob/8efc6148/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 7d37161..ca27e71 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
@@ -262,12 +262,15 @@ public final class Canary implements Tool {
 private HRegionInfo region;
 private Sink sink;
 private TaskType taskType;
+private boolean rawScanEnabled;
 
-RegionTask(Connection connection, HRegionInfo region, Sink sink, TaskType 
taskType) {
+RegionTask(Connection connection, HRegionInfo region, Sink sink, TaskType 
taskType,
+boolean rawScanEnabled) {
   this.connection = connection;
   this.region = region;
   this.sink = sink;
   this.taskType = taskType;
+  this.rawScanEnabled = rawScanEnabled;
 }
 
 @Override
@@ -321,6 +324,11 @@ public final class Canary implements Tool {
   get.addFamily(column.getName());
 } else {
   scan = new Scan();
+  if (LOG.isDebugEnabled()) {
+LOG.debug(String.format("rawScan : %s for table: %s", 
rawScanEnabled,
+  tableDesc.getTableName()));
+  }
+  scan.setRaw(rawScanEnabled);
   scan.setCaching(1);
   scan.setCacheBlocks(false);
   scan.setFilter(new FirstKeyOnlyFilter());
@@ -746,6 +754,8 @@ public final class Canary implements Tool {
 System.err.println("   -treatFailureAsError treats read / write failure as 
error");
 System.err.println("   -writeTableThe table used for write sniffing."
 + " Default is hbase:canary");
+System.err.println("   -Dhbase.canary.read.raw.enabled= Use 
this flag to enable or disable raw scan during read canary test"
++ " Default is false and raw is not enabled during scan");
 System.err
 .println("   -D= assigning or override the 
configuration params");
 System.exit(USAGE_EXIT_CODE);
@@ -870,6 +880,7 @@ public final class Canary implements Tool {
 private float regionsLowerLimit;
 private float regionsUpperLimit;
 private int checkPeriod;
+private boolean rawScanEnabled;
 
 public RegionMonitor(Connection connection, String[] monitorTargets, 
boolean useRegExp,
 Sink sink, ExecutorService executor, boolean writeSniffing, TableName 
writeTableName,
@@ -887,6 +898,7 @@ public final class Canary implements Tool {
   this.checkPeriod =
   conf.getInt(HConstants.HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY,
 DEFAULT_WRITE_TABLE_CHECK_PERIOD);
+  this.rawScanEnabl