hbase git commit: Change timezone for Ashu Pachauri in pom.xml

2017-11-05 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master c463e9c84 -> bc3f3ee3b


Change timezone for Ashu Pachauri in pom.xml


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

Branch: refs/heads/master
Commit: bc3f3ee3bc43b3c14d61806f799382c9c06a49d6
Parents: c463e9c
Author: Ashu Pachauri 
Authored: Mon Nov 6 12:17:41 2017 +0530
Committer: Ashu Pachauri 
Committed: Mon Nov 6 12:17:41 2017 +0530

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/bc3f3ee3/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 8117583..ffc25fa 100755
--- a/pom.xml
+++ b/pom.xml
@@ -215,7 +215,7 @@
   ashu
   Ashu Pachauri
   a...@apache.org
-  -8
+  +5
 
 
   binlijin



hbase git commit: HBASE-18814 Make ScanMetrics enabled and add counter into the MapReduce Job over snapshot

2017-10-02 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 c3697bd27 -> 5c1f2d668


HBASE-18814 Make ScanMetrics enabled and add counter  into the MapReduce Job over snapshot

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/branch-1.4
Commit: 5c1f2d668213c57ff474ea37cafe322c98f79756
Parents: c3697bd
Author: libisthanks 
Authored: Thu Sep 14 09:58:34 2017 +0800
Committer: Ashu Pachauri 
Committed: Mon Oct 2 18:29:25 2017 -0700

--
 .../org/apache/hadoop/hbase/client/ClientSideRegionScanner.java | 1 +
 .../apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java | 1 +
 2 files changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/5c1f2d66/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
index 4fab6a2..df118fa 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
@@ -86,6 +86,7 @@ public class ClientSideRegionScanner extends 
AbstractClientScanner {
 resultSize += CellUtil.estimatedSerializedSizeOf(cell);
   }
   this.scanMetrics.countOfBytesInResults.addAndGet(resultSize);
+  this.scanMetrics.countOfRowsScanned.incrementAndGet();
 }
 
 return result;

http://git-wip-us.apache.org/repos/asf/hbase/blob/5c1f2d66/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
index a8d387a..dab56c4 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
@@ -205,6 +205,7 @@ public class TableSnapshotInputFormatImpl {
   scan.setIsolationLevel(IsolationLevel.READ_UNCOMMITTED);
   // disable caching of data blocks
   scan.setCacheBlocks(false);
+  scan.setScanMetricsEnabled(true);
 
   scanner =
   new ClientSideRegionScanner(conf, fs, new Path(split.restoreDir), 
htd, hri, scan, null);



hbase git commit: HBASE-18814 Make ScanMetrics enabled and add counter into the MapReduce Job over snapshot

2017-10-02 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-1 61173522d -> 1c7321f9d


HBASE-18814 Make ScanMetrics enabled and add counter  into the MapReduce Job over snapshot

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/branch-1
Commit: 1c7321f9d5e639a27564863463e91ae4f5b5b0d8
Parents: 6117352
Author: libisthanks 
Authored: Thu Sep 14 09:58:34 2017 +0800
Committer: Ashu Pachauri 
Committed: Mon Oct 2 18:25:52 2017 -0700

--
 .../org/apache/hadoop/hbase/client/ClientSideRegionScanner.java | 1 +
 .../apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java | 1 +
 2 files changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/1c7321f9/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
index 4fab6a2..df118fa 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
@@ -86,6 +86,7 @@ public class ClientSideRegionScanner extends 
AbstractClientScanner {
 resultSize += CellUtil.estimatedSerializedSizeOf(cell);
   }
   this.scanMetrics.countOfBytesInResults.addAndGet(resultSize);
+  this.scanMetrics.countOfRowsScanned.incrementAndGet();
 }
 
 return result;

http://git-wip-us.apache.org/repos/asf/hbase/blob/1c7321f9/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
index a8d387a..dab56c4 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
@@ -205,6 +205,7 @@ public class TableSnapshotInputFormatImpl {
   scan.setIsolationLevel(IsolationLevel.READ_UNCOMMITTED);
   // disable caching of data blocks
   scan.setCacheBlocks(false);
+  scan.setScanMetricsEnabled(true);
 
   scanner =
   new ClientSideRegionScanner(conf, fs, new Path(split.restoreDir), 
htd, hri, scan, null);



hbase git commit: HBASE-18814 Make ScanMetrics enabled and add counter into the MapReduce Job over snapshot

2017-10-02 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 176d8bd2c -> 0db82daa9


HBASE-18814 Make ScanMetrics enabled and add counter  into the MapReduce Job over snapshot

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/branch-2
Commit: 0db82daa91955afc5b836ae2d92d23ca0da30453
Parents: 176d8bd
Author: libisthanks 
Authored: Thu Sep 14 09:58:34 2017 +0800
Committer: Ashu Pachauri 
Committed: Mon Oct 2 18:25:34 2017 -0700

--
 .../apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java | 1 +
 .../org/apache/hadoop/hbase/client/ClientSideRegionScanner.java | 1 +
 2 files changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/0db82daa/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
index 5098b30..bcaa448 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
@@ -216,6 +216,7 @@ public class TableSnapshotInputFormatImpl {
   scan.setIsolationLevel(IsolationLevel.READ_UNCOMMITTED);
   // disable caching of data blocks
   scan.setCacheBlocks(false);
+  scan.setScanMetricsEnabled(true);
 
   scanner =
   new ClientSideRegionScanner(conf, fs, new Path(split.restoreDir), 
htd, hri, scan, null);

http://git-wip-us.apache.org/repos/asf/hbase/blob/0db82daa/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
index 141fcdd..6871717 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
@@ -86,6 +86,7 @@ public class ClientSideRegionScanner extends 
AbstractClientScanner {
 resultSize += CellUtil.estimatedSerializedSizeOf(cell);
   }
   this.scanMetrics.countOfBytesInResults.addAndGet(resultSize);
+  this.scanMetrics.countOfRowsScanned.incrementAndGet();
 }
 
 return result;



hbase git commit: HBASE-18814 Make ScanMetrics enabled and add counter into the MapReduce Job over snapshot

2017-10-02 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master 4093cc029 -> 214d21994


HBASE-18814 Make ScanMetrics enabled and add counter  into the MapReduce Job over snapshot

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/master
Commit: 214d21994e5e0c64ca9f463b51a91279deffcef5
Parents: 4093cc0
Author: libisthanks 
Authored: Thu Sep 14 09:58:34 2017 +0800
Committer: Ashu Pachauri 
Committed: Mon Oct 2 18:25:18 2017 -0700

--
 .../apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java | 1 +
 .../org/apache/hadoop/hbase/client/ClientSideRegionScanner.java | 1 +
 2 files changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/214d2199/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
index 5098b30..bcaa448 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
@@ -216,6 +216,7 @@ public class TableSnapshotInputFormatImpl {
   scan.setIsolationLevel(IsolationLevel.READ_UNCOMMITTED);
   // disable caching of data blocks
   scan.setCacheBlocks(false);
+  scan.setScanMetricsEnabled(true);
 
   scanner =
   new ClientSideRegionScanner(conf, fs, new Path(split.restoreDir), 
htd, hri, scan, null);

http://git-wip-us.apache.org/repos/asf/hbase/blob/214d2199/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
index 141fcdd..6871717 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientSideRegionScanner.java
@@ -86,6 +86,7 @@ public class ClientSideRegionScanner extends 
AbstractClientScanner {
 resultSize += CellUtil.estimatedSerializedSizeOf(cell);
   }
   this.scanMetrics.countOfBytesInResults.addAndGet(resultSize);
+  this.scanMetrics.countOfRowsScanned.incrementAndGet();
 }
 
 return result;



hbase git commit: HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-09-30 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 c256532ce -> 7ee44a820


HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per 
region

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/branch-2
Commit: 7ee44a820f74eeeb587c50a42c104f64a58175e3
Parents: c256532
Author: libisthanks 
Authored: Wed Sep 27 12:33:53 2017 +0800
Committer: Ashu Pachauri 
Committed: Sat Sep 30 02:11:22 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 ++
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 +++
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 ++
 .../mapreduce/TableSnapshotInputFormat.java |  24 +++-
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 ---
 .../mapred/TestTableSnapshotInputFormat.java|  41 ---
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 ---
 .../hbase/client/ClientSideRegionScanner.java   |   2 +
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 383 insertions(+), 52 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/7ee44a82/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 1a152e8..2df1c4b 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ee44a82/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 35dbf02..0427f50 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
+import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -186,6 +187,43 @@ public class TableMapReduceUtil {
   }
 
   /**
+   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
+   * and read directly from snapshot files.
+   *
+   * @param snapshotName The name of the snapshot (of a table) to read from.
+   * @param columns  The columns to scan.
+   * @param mapper  The mapper class to use.
+   * @param outputKeyClass  The class of the output key.
+   * @param outputValueClass  The

hbase git commit: HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-09-30 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master 367dfabf0 -> 4aadc5d32


HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per 
region

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/master
Commit: 4aadc5d322884310ce6ef49fb0031bfbd2a096b9
Parents: 367dfab
Author: libisthanks 
Authored: Wed Sep 27 12:33:53 2017 +0800
Committer: Ashu Pachauri 
Committed: Sat Sep 30 02:08:42 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 ++
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 +++
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 ++
 .../mapreduce/TableSnapshotInputFormat.java |  24 +++-
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 ---
 .../mapred/TestTableSnapshotInputFormat.java|  41 ---
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 ---
 .../hbase/client/ClientSideRegionScanner.java   |   2 +
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 383 insertions(+), 52 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/4aadc5d3/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 1a152e8..2df1c4b 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/4aadc5d3/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 35dbf02..0427f50 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
+import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -186,6 +187,43 @@ public class TableMapReduceUtil {
   }
 
   /**
+   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
+   * and read directly from snapshot files.
+   *
+   * @param snapshotName The name of the snapshot (of a table) to read from.
+   * @param columns  The columns to scan.
+   * @param mapper  The mapper class to use.
+   * @param outputKeyClass  The class of the output key.
+   * @param outputValueClass  The class of the 

hbase git commit: Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region" due to wrong jira id.

2017-09-30 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 4579bba48 -> c256532ce


Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple 
mappers per region" due to wrong jira id.

This reverts commit 55987efdcfb9f9a2110cd7695edc39680729bb64.


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

Branch: refs/heads/branch-2
Commit: c256532ce3b7cf7e7180ba274cf2632acae5142a
Parents: 4579bba
Author: Ashu Pachauri 
Authored: Sat Sep 30 01:59:04 2017 -0700
Committer: Ashu Pachauri 
Committed: Sat Sep 30 02:00:16 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 --
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 ---
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 --
 .../mapreduce/TableSnapshotInputFormat.java |  24 +---
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 +++
 .../mapred/TestTableSnapshotInputFormat.java|  41 +++
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 +++
 .../hbase/client/ClientSideRegionScanner.java   |   2 -
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 52 insertions(+), 383 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/c256532c/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 2df1c4b..1a152e8 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/c256532c/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 0427f50..35dbf02 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,7 +33,6 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
-import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -187,43 +186,6 @@ public class TableMapReduceUtil {
   }
 
   /**
-   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
-   * and read directly from snapshot files.
-   *
-   * @param snapshotName The name of the snapshot (of a table) to read from.
-   * @param columns  The columns to scan.
-   * @param mapper  The mapper class to use.
-   * @param outputK

hbase git commit: Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region" due to wrong jira id.

2017-09-30 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master cacf3f583 -> 367dfabf0


Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple 
mappers per region" due to wrong jira id.

This reverts commit f20580a53083b69eec3d766cf2a1f99d0bff9747.


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

Branch: refs/heads/master
Commit: 367dfabf0694a5c72dbd5c30092a1ff9e30fca5c
Parents: cacf3f5
Author: Ashu Pachauri 
Authored: Sat Sep 30 01:43:10 2017 -0700
Committer: Ashu Pachauri 
Committed: Sat Sep 30 01:44:39 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 --
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 ---
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 --
 .../mapreduce/TableSnapshotInputFormat.java |  24 +---
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 +++
 .../mapred/TestTableSnapshotInputFormat.java|  41 +++
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 +++
 .../hbase/client/ClientSideRegionScanner.java   |   2 -
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 52 insertions(+), 383 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/367dfabf/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 2df1c4b..1a152e8 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/367dfabf/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 0427f50..35dbf02 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,7 +33,6 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
-import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -187,43 +186,6 @@ public class TableMapReduceUtil {
   }
 
   /**
-   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
-   * and read directly from snapshot files.
-   *
-   * @param snapshotName The name of the snapshot (of a table) to read from.
-   * @param columns  The columns to scan.
-   * @param mapper  The mapper class to use.
-   * @param outputK

hbase git commit: HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-09-29 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 d142f0712 -> 55987efdc


HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per 
region

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/branch-2
Commit: 55987efdcfb9f9a2110cd7695edc39680729bb64
Parents: d142f07
Author: libisthanks 
Authored: Wed Sep 27 12:33:53 2017 +0800
Committer: Ashu Pachauri 
Committed: Fri Sep 29 16:21:51 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 ++
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 +++
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 ++
 .../mapreduce/TableSnapshotInputFormat.java |  24 +++-
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 ---
 .../mapred/TestTableSnapshotInputFormat.java|  41 ---
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 ---
 .../hbase/client/ClientSideRegionScanner.java   |   2 +
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 383 insertions(+), 52 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/55987efd/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 1a152e8..2df1c4b 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/55987efd/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 35dbf02..0427f50 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
+import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -186,6 +187,43 @@ public class TableMapReduceUtil {
   }
 
   /**
+   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
+   * and read directly from snapshot files.
+   *
+   * @param snapshotName The name of the snapshot (of a table) to read from.
+   * @param columns  The columns to scan.
+   * @param mapper  The mapper class to use.
+   * @param outputKeyClass  The class of the output key.
+   * @param outputValueClass  The

hbase git commit: HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-09-29 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master ca87d05a5 -> f20580a53


HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per 
region

Signed-off-by: Ashu Pachauri 


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

Branch: refs/heads/master
Commit: f20580a53083b69eec3d766cf2a1f99d0bff9747
Parents: ca87d05
Author: libisthanks 
Authored: Wed Sep 27 12:33:53 2017 +0800
Committer: Ashu Pachauri 
Committed: Fri Sep 29 16:12:39 2017 -0700

--
 ...IntegrationTestTableSnapshotInputFormat.java |   4 +-
 .../hadoop/hbase/mapred/TableMapReduceUtil.java |  38 ++
 .../hbase/mapred/TableSnapshotInputFormat.java  |  18 +++
 .../hbase/mapreduce/TableMapReduceUtil.java |  38 ++
 .../mapreduce/TableSnapshotInputFormat.java |  24 +++-
 .../mapreduce/TableSnapshotInputFormatImpl.java | 115 ---
 .../mapred/TestTableSnapshotInputFormat.java|  41 ---
 .../TableSnapshotInputFormatTestBase.java   |  23 ++--
 .../mapreduce/TestTableSnapshotInputFormat.java |  41 ---
 .../hbase/client/ClientSideRegionScanner.java   |   2 +
 .../hadoop/hbase/util/RegionSplitter.java   |  71 
 .../hadoop/hbase/util/TestRegionSplitter.java   |  20 
 12 files changed, 383 insertions(+), 52 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f20580a5/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
--
diff --git 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
index 1a152e8..2df1c4b 100644
--- 
a/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
+++ 
b/hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java
@@ -151,7 +151,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions > 2 ? numRegions - 2 : numRegions;
 
   
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions,
+tableName, snapshotName, START_ROW, END_ROW, tableDir, numRegions, 1,
 expectedNumSplits, false);
 } else if (mr.equalsIgnoreCase(MAPRED_IMPLEMENTATION)) {
   /*
@@ -165,7 +165,7 @@ public class IntegrationTestTableSnapshotInputFormat 
extends IntegrationTestBase
   int expectedNumSplits = numRegions;
 
   
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.doTestWithMapReduce(util,
-tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions,
+tableName, snapshotName, MAPRED_START_ROW, MAPRED_END_ROW, tableDir, 
numRegions, 1,
 expectedNumSplits, false);
 } else {
   throw new IllegalArgumentException("Unrecognized mapreduce 
implementation: " + mr +".");

http://git-wip-us.apache.org/repos/asf/hbase/blob/f20580a5/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
--
diff --git 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
index 35dbf02..0427f50 100644
--- 
a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
+++ 
b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.mapreduce.ResultSerialization;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
+import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -186,6 +187,43 @@ public class TableMapReduceUtil {
   }
 
   /**
+   * Sets up the job for reading from a table snapshot. It bypasses hbase 
servers
+   * and read directly from snapshot files.
+   *
+   * @param snapshotName The name of the snapshot (of a table) to read from.
+   * @param columns  The columns to scan.
+   * @param mapper  The mapper class to use.
+   * @param outputKeyClass  The class of the output key.
+   * @param outputValueClass  The class of the 

hbase git commit: HBASE-18398: Snapshot operation fails with FileNotFoundException

2017-08-10 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 b6ff1d5e8 -> 5b10393c9


HBASE-18398: Snapshot operation fails with FileNotFoundException


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

Branch: refs/heads/branch-1.4
Commit: 5b10393c9d41720ebbbecf37513583f4ff6ea739
Parents: b6ff1d5
Author: Ashu Pachauri 
Authored: Mon Aug 7 18:10:33 2017 -0700
Committer: Ashu Pachauri 
Committed: Thu Aug 10 15:01:17 2017 -0700

--
 .../hadoop/hbase/regionserver/HRegion.java  |  29 ++-
 .../hadoop/hbase/regionserver/HStore.java   |  16 ++
 .../hadoop/hbase/regionserver/Region.java   |   9 +-
 .../snapshot/FlushSnapshotSubprocedure.java |  31 ++-
 .../hadoop/hbase/snapshot/SnapshotManifest.java |  22 +-
 .../hbase/snapshot/TestRegionSnapshotTask.java  | 205 +++
 6 files changed, 289 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/5b10393c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 4a4723d..985c374 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -8497,11 +8497,12 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 case DELETE:
 case BATCH_MUTATE:
 case COMPACT_REGION:
-  // when a region is in recovering state, no read, split or merge is 
allowed
+case SNAPSHOT:
+  // when a region is in recovering state, no read, split, merge or 
snapshot is allowed
   if (isRecovering() && (this.disallowWritesInRecovering ||
-  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
+  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
 throw new 
RegionInRecoveryException(getRegionInfo().getRegionNameAsString() +
-  " is recovering; cannot take reads");
+" is recovering; cannot take reads");
   }
   break;
 default:
@@ -8521,6 +8522,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   lock.readLock().unlock();
   throw new 
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is 
closed");
 }
+// The unit for snapshot is a region. So, all stores for this region must 
be
+// prepared for snapshot operation before proceeding.
+if (op == Operation.SNAPSHOT) {
+  for (Store store : stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).preSnapshotOperation();
+}
+  }
+}
 try {
   if (coprocessorHost != null) {
 coprocessorHost.postStartRegionOperation(op);
@@ -8536,12 +8546,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 closeRegionOperation(Operation.ANY);
   }
 
-  /**
-   * Closes the lock. This needs to be called in the finally block 
corresponding
-   * to the try block of {@link #startRegionOperation(Operation)}
-   * @throws IOException
-   */
+  @Override
   public void closeRegionOperation(Operation operation) throws IOException {
+if (operation == Operation.SNAPSHOT) {
+  for (Store store: stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).postSnapshotOperation();
+}
+  }
+}
 lock.readLock().unlock();
 if (coprocessorHost != null) {
   coprocessorHost.postCloseRegionOperation(operation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/5b10393c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index c211736..de95aeb 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -2682,6 +2682,22 @@ public class HStore implements Store {
   return getRegionInfo().getReplicaId() == 
HRegionInfo.DEFAULT_REPLICA_ID;
   }
 
+  /**
+   * Sets the store up for a region level snapshot operation.
+   *

hbase git commit: HBASE-18398: Snapshot operation fails with FileNotFoundException

2017-08-10 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-1 685ab1906 -> cab492d34


HBASE-18398: Snapshot operation fails with FileNotFoundException


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

Branch: refs/heads/branch-1
Commit: cab492d34f6441d11b5f7e154ee5cfe9b44bdf8e
Parents: 685ab19
Author: Ashu Pachauri 
Authored: Mon Aug 7 18:10:33 2017 -0700
Committer: Ashu Pachauri 
Committed: Thu Aug 10 14:49:59 2017 -0700

--
 .../hadoop/hbase/regionserver/HRegion.java  |  29 ++-
 .../hadoop/hbase/regionserver/HStore.java   |  16 ++
 .../hadoop/hbase/regionserver/Region.java   |   9 +-
 .../snapshot/FlushSnapshotSubprocedure.java |  31 ++-
 .../hadoop/hbase/snapshot/SnapshotManifest.java |  22 +-
 .../hbase/snapshot/TestRegionSnapshotTask.java  | 205 +++
 6 files changed, 289 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/cab492d3/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index d6ad5a4..dfb7b71 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -8497,11 +8497,12 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 case DELETE:
 case BATCH_MUTATE:
 case COMPACT_REGION:
-  // when a region is in recovering state, no read, split or merge is 
allowed
+case SNAPSHOT:
+  // when a region is in recovering state, no read, split, merge or 
snapshot is allowed
   if (isRecovering() && (this.disallowWritesInRecovering ||
-  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
+  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
 throw new 
RegionInRecoveryException(getRegionInfo().getRegionNameAsString() +
-  " is recovering; cannot take reads");
+" is recovering; cannot take reads");
   }
   break;
 default:
@@ -8521,6 +8522,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   lock.readLock().unlock();
   throw new 
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is 
closed");
 }
+// The unit for snapshot is a region. So, all stores for this region must 
be
+// prepared for snapshot operation before proceeding.
+if (op == Operation.SNAPSHOT) {
+  for (Store store : stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).preSnapshotOperation();
+}
+  }
+}
 try {
   if (coprocessorHost != null) {
 coprocessorHost.postStartRegionOperation(op);
@@ -8536,12 +8546,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 closeRegionOperation(Operation.ANY);
   }
 
-  /**
-   * Closes the lock. This needs to be called in the finally block 
corresponding
-   * to the try block of {@link #startRegionOperation(Operation)}
-   * @throws IOException
-   */
+  @Override
   public void closeRegionOperation(Operation operation) throws IOException {
+if (operation == Operation.SNAPSHOT) {
+  for (Store store: stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).postSnapshotOperation();
+}
+  }
+}
 lock.readLock().unlock();
 if (coprocessorHost != null) {
   coprocessorHost.postCloseRegionOperation(operation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/cab492d3/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index c211736..de95aeb 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -2682,6 +2682,22 @@ public class HStore implements Store {
   return getRegionInfo().getReplicaId() == 
HRegionInfo.DEFAULT_REPLICA_ID;
   }
 
+  /**
+   * Sets the store up for a region level snapshot operation.
+   * @see #postSnapshotOperati

hbase git commit: HBASE-18398: Snapshot operation fails with FileNotFoundException

2017-08-10 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 6f6f0a484 -> 2f88bf6d4


HBASE-18398: Snapshot operation fails with FileNotFoundException


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

Branch: refs/heads/branch-2
Commit: 2f88bf6d40905fa1ad2d2dba8601b8d921041b19
Parents: 6f6f0a4
Author: Ashu Pachauri 
Authored: Mon Aug 7 18:10:33 2017 -0700
Committer: Ashu Pachauri 
Committed: Thu Aug 10 14:23:30 2017 -0700

--
 .../hadoop/hbase/regionserver/HRegion.java  |  25 ++-
 .../hadoop/hbase/regionserver/HStore.java   |  16 ++
 .../hadoop/hbase/regionserver/Region.java   |   9 +-
 .../snapshot/FlushSnapshotSubprocedure.java |  31 ++-
 .../hadoop/hbase/snapshot/SnapshotManifest.java |  30 ++-
 .../hbase/snapshot/TestRegionSnapshotTask.java  | 204 +++
 6 files changed, 293 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/2f88bf6d/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 31357ad..483cb36 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -7922,7 +7922,8 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   case DELETE:
   case BATCH_MUTATE:
   case COMPACT_REGION:
-// when a region is in recovering state, no read, split or merge is 
allowed
+  case SNAPSHOT:
+// when a region is in recovering state, no read, split, merge or 
snapshot is allowed
 if (isRecovering() && (this.disallowWritesInRecovering ||
   (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
   throw new 
RegionInRecoveryException(getRegionInfo().getRegionNameAsString() +
@@ -7946,6 +7947,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   lock.readLock().unlock();
   throw new 
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is 
closed");
 }
+// The unit for snapshot is a region. So, all stores for this region must 
be
+// prepared for snapshot operation before proceeding.
+if (op == Operation.SNAPSHOT) {
+  for (Store store : stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).preSnapshotOperation();
+}
+  }
+}
 try {
   if (coprocessorHost != null) {
 coprocessorHost.postStartRegionOperation(op);
@@ -7961,12 +7971,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 closeRegionOperation(Operation.ANY);
   }
 
-  /**
-   * Closes the lock. This needs to be called in the finally block 
corresponding
-   * to the try block of {@link #startRegionOperation(Operation)}
-   * @throws IOException
-   */
+  @Override
   public void closeRegionOperation(Operation operation) throws IOException {
+if (operation == Operation.SNAPSHOT) {
+  for (Store store: stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).postSnapshotOperation();
+}
+  }
+}
 lock.readLock().unlock();
 if (coprocessorHost != null) {
   coprocessorHost.postCloseRegionOperation(operation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/2f88bf6d/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 2d9e0f2..882e1fc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -2486,6 +2486,22 @@ public class HStore implements Store {
   return getRegionInfo().getReplicaId() == 
HRegionInfo.DEFAULT_REPLICA_ID;
   }
 
+  /**
+   * Sets the store up for a region level snapshot operation.
+   * @see #postSnapshotOperation()
+   */
+  public void preSnapshotOperation() {
+archiveLock.lock();
+  }
+
+  /**
+   * Perform tasks needed after the completion of snapshot operation.
+   * @see #preSnapshotOperation()
+   */
+  public void postSnapshotOperation() {
+arch

hbase git commit: HBASE-18398: Snapshot operation fails with FileNotFoundException

2017-08-10 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 bb8c3ac03 -> 52c2dcbaa


HBASE-18398: Snapshot operation fails with FileNotFoundException


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

Branch: refs/heads/branch-1.3
Commit: 52c2dcbaa321705df143e1dc9dca28c849f8f9bb
Parents: bb8c3ac
Author: Ashu Pachauri 
Authored: Mon Aug 7 18:10:33 2017 -0700
Committer: Ashu Pachauri 
Committed: Thu Aug 10 14:21:29 2017 -0700

--
 .../hadoop/hbase/regionserver/HRegion.java  |  29 ++-
 .../hadoop/hbase/regionserver/HStore.java   |  16 ++
 .../hadoop/hbase/regionserver/Region.java   |   9 +-
 .../snapshot/FlushSnapshotSubprocedure.java |  30 ++-
 .../hadoop/hbase/snapshot/SnapshotManifest.java |  22 +-
 .../hbase/snapshot/TestRegionSnapshotTask.java  | 205 +++
 6 files changed, 288 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/52c2dcba/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 90f3079..4ba66b7 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -8325,11 +8325,12 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 case DELETE:
 case BATCH_MUTATE:
 case COMPACT_REGION:
-  // when a region is in recovering state, no read, split or merge is 
allowed
+case SNAPSHOT:
+  // when a region is in recovering state, no read, split, merge or 
snapshot is allowed
   if (isRecovering() && (this.disallowWritesInRecovering ||
-  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
+  (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
 throw new 
RegionInRecoveryException(getRegionInfo().getRegionNameAsString() +
-  " is recovering; cannot take reads");
+" is recovering; cannot take reads");
   }
   break;
 default:
@@ -8349,6 +8350,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   lock.readLock().unlock();
   throw new 
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is 
closed");
 }
+// The unit for snapshot is a region. So, all stores for this region must 
be
+// prepared for snapshot operation before proceeding.
+if (op == Operation.SNAPSHOT) {
+  for (Store store : stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).preSnapshotOperation();
+}
+  }
+}
 try {
   if (coprocessorHost != null) {
 coprocessorHost.postStartRegionOperation(op);
@@ -8364,12 +8374,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 closeRegionOperation(Operation.ANY);
   }
 
-  /**
-   * Closes the lock. This needs to be called in the finally block 
corresponding
-   * to the try block of {@link #startRegionOperation(Operation)}
-   * @throws IOException
-   */
+  @Override
   public void closeRegionOperation(Operation operation) throws IOException {
+if (operation == Operation.SNAPSHOT) {
+  for (Store store: stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).postSnapshotOperation();
+}
+  }
+}
 lock.readLock().unlock();
 if (coprocessorHost != null) {
   coprocessorHost.postCloseRegionOperation(operation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/52c2dcba/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 24ec480..d6303f6 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -2653,6 +2653,22 @@ public class HStore implements Store {
   return getRegionInfo().getReplicaId() == 
HRegionInfo.DEFAULT_REPLICA_ID;
   }
 
+  /**
+   * Sets the store up for a region level snapshot operation.
+   *

hbase git commit: HBASE-18398: Snapshot operation fails with FileNotFoundException

2017-08-10 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master d5f34adcd -> ded0842ca


HBASE-18398: Snapshot operation fails with FileNotFoundException


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

Branch: refs/heads/master
Commit: ded0842cafbccff0ad64137abf4690c781d86e65
Parents: d5f34ad
Author: Ashu Pachauri 
Authored: Mon Aug 7 18:10:33 2017 -0700
Committer: Ashu Pachauri 
Committed: Thu Aug 10 14:20:08 2017 -0700

--
 .../hadoop/hbase/regionserver/HRegion.java  |  25 ++-
 .../hadoop/hbase/regionserver/HStore.java   |  16 ++
 .../hadoop/hbase/regionserver/Region.java   |   9 +-
 .../snapshot/FlushSnapshotSubprocedure.java |  31 ++-
 .../hadoop/hbase/snapshot/SnapshotManifest.java |  30 ++-
 .../hbase/snapshot/TestRegionSnapshotTask.java  | 204 +++
 6 files changed, 293 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/ded0842c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 31357ad..483cb36 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -7922,7 +7922,8 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   case DELETE:
   case BATCH_MUTATE:
   case COMPACT_REGION:
-// when a region is in recovering state, no read, split or merge is 
allowed
+  case SNAPSHOT:
+// when a region is in recovering state, no read, split, merge or 
snapshot is allowed
 if (isRecovering() && (this.disallowWritesInRecovering ||
   (op != Operation.PUT && op != Operation.DELETE && op != 
Operation.BATCH_MUTATE))) {
   throw new 
RegionInRecoveryException(getRegionInfo().getRegionNameAsString() +
@@ -7946,6 +7947,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
   lock.readLock().unlock();
   throw new 
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is 
closed");
 }
+// The unit for snapshot is a region. So, all stores for this region must 
be
+// prepared for snapshot operation before proceeding.
+if (op == Operation.SNAPSHOT) {
+  for (Store store : stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).preSnapshotOperation();
+}
+  }
+}
 try {
   if (coprocessorHost != null) {
 coprocessorHost.postStartRegionOperation(op);
@@ -7961,12 +7971,15 @@ public class HRegion implements HeapSize, 
PropagatingConfigurationObserver, Regi
 closeRegionOperation(Operation.ANY);
   }
 
-  /**
-   * Closes the lock. This needs to be called in the finally block 
corresponding
-   * to the try block of {@link #startRegionOperation(Operation)}
-   * @throws IOException
-   */
+  @Override
   public void closeRegionOperation(Operation operation) throws IOException {
+if (operation == Operation.SNAPSHOT) {
+  for (Store store: stores.values()) {
+if (store instanceof HStore) {
+  ((HStore)store).postSnapshotOperation();
+}
+  }
+}
 lock.readLock().unlock();
 if (coprocessorHost != null) {
   coprocessorHost.postCloseRegionOperation(operation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/ded0842c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 2d9e0f2..882e1fc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -2486,6 +2486,22 @@ public class HStore implements Store {
   return getRegionInfo().getReplicaId() == 
HRegionInfo.DEFAULT_REPLICA_ID;
   }
 
+  /**
+   * Sets the store up for a region level snapshot operation.
+   * @see #postSnapshotOperation()
+   */
+  public void preSnapshotOperation() {
+archiveLock.lock();
+  }
+
+  /**
+   * Perform tasks needed after the completion of snapshot operation.
+   * @see #preSnapshotOperation()
+   */
+  public void postSnapshotOperation() {
+arch

hbase git commit: Add Ashu Pachauri to pom.xml

2017-06-16 Thread ashu
Repository: hbase
Updated Branches:
  refs/heads/master 4dc805145 -> cd478d156


Add Ashu Pachauri to pom.xml


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

Branch: refs/heads/master
Commit: cd478d1564f6f6dad9b8624ddf1d7cc5f8fc5d1d
Parents: 4dc8051
Author: Ashu Pachauri 
Authored: Fri Jun 16 16:24:07 2017 -0700
Committer: Ashu Pachauri 
Committed: Fri Jun 16 16:25:30 2017 -0700

--
 pom.xml | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/cd478d15/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 2310721..02b8d4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -200,6 +200,12 @@
   +5
 
 
+      ashu
+      Ashu Pachauri
+  a...@apache.org
+  -8
+
+
   binlijin
   Lijin Bin
   binli...@apache.org