You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2014/09/05 05:27:23 UTC
git commit: HBASE-11882 Row level consistency may not be maintained
with bulk load and compaction (Jerry He) Signed-off-by: Ramkrishna
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 <ra...@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 <ra...@intel.com>
Authored: Fri Sep 5 08:55:53 2014 +0530
Committer: Ramkrishna <ra...@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();
}