Repository: hbase
Updated Branches:
  refs/heads/master 7a699b904 -> 8de30d32d


HBASE-11882 Row level consistency may not be maintained with bulk load and
compaction (Jerry He)
Signed-off-by: Ramkrishna <ramkrishna.s.vasude...@intel.com>


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

Branch: refs/heads/master
Commit: 8de30d32d4d5c86650effadbda72f7ef32a4f15f
Parents: 7a699b9
Author: Ramkrishna <ramkrishna.s.vasude...@intel.com>
Authored: Fri Sep 5 08:55:53 2014 +0530
Committer: Ramkrishna <ramkrishna.s.vasude...@intel.com>
Committed: Fri Sep 5 08:55:53 2014 +0530

----------------------------------------------------------------------
 .../hbase/regionserver/compactions/Compactor.java     | 14 +++++++++++---
 .../hbase/regionserver/TestHRegionServerBulkLoad.java |  1 +
 2 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/8de30d32/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
index 2b053a6..7eab275 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
@@ -136,9 +136,17 @@ public abstract class Compactor {
       fd.maxKeyCount += keyCount;
       // calculate the latest MVCC readpoint in any of the involved store files
       Map<byte[], byte[]> fileInfo = r.loadFileInfo();
-      byte tmp[] = fileInfo.get(HFileWriterV2.MAX_MEMSTORE_TS_KEY);
-      if (tmp != null) {
-        fd.maxMVCCReadpoint = Math.max(fd.maxMVCCReadpoint, Bytes.toLong(tmp));
+      byte tmp[] = null;
+      // Get and set the real MVCCReadpoint for bulk loaded files, which is the
+      // SeqId number.
+      if (r.isBulkLoaded()) {
+        fd.maxMVCCReadpoint = Math.max(fd.maxMVCCReadpoint, r.getSequenceID());
+      }
+      else {
+        tmp = fileInfo.get(HFileWriterV2.MAX_MEMSTORE_TS_KEY);
+        if (tmp != null) {
+          fd.maxMVCCReadpoint = Math.max(fd.maxMVCCReadpoint, 
Bytes.toLong(tmp));
+        }
       }
       tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);
       if (tmp != null) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/8de30d32/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
index 26570d1..efa5a22 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
@@ -115,6 +115,7 @@ public class TestHRegionServerBulkLoad {
         KeyValue kv = new KeyValue(rowkey(i), family, qualifier, now, value);
         writer.append(kv);
       }
+      writer.appendFileInfo(StoreFile.BULKLOAD_TIME_KEY, Bytes.toBytes(now));
     } finally {
       writer.close();
     }

Reply via email to