You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ch...@apache.org on 2017/09/06 12:02:11 UTC

hbase git commit: HBASE-18749 Apply the CF specific TimeRange from Scan to filter the segment scanner

Repository: hbase
Updated Branches:
  refs/heads/branch-2 cd1b964bb -> f0c1cd50c


HBASE-18749 Apply the CF specific TimeRange from Scan to filter the segment scanner


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

Branch: refs/heads/branch-2
Commit: f0c1cd50c27d9064f27508cf3fecc10ca92f9dd2
Parents: cd1b964
Author: Chia-Ping Tsai <ch...@gmail.com>
Authored: Wed Sep 6 20:01:10 2017 +0800
Committer: Chia-Ping Tsai <ch...@gmail.com>
Committed: Wed Sep 6 20:01:10 2017 +0800

----------------------------------------------------------------------
 .../hadoop/hbase/regionserver/CompositeImmutableSegment.java | 8 ++++----
 .../apache/hadoop/hbase/regionserver/ImmutableSegment.java   | 5 ++---
 .../org/apache/hadoop/hbase/regionserver/MutableSegment.java | 6 +++---
 .../java/org/apache/hadoop/hbase/regionserver/Segment.java   | 4 ++--
 .../org/apache/hadoop/hbase/regionserver/SegmentScanner.java | 3 ++-
 5 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/f0c1cd50/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java
index 16d0a42..30d0d8d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java
@@ -18,12 +18,12 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.logging.Log;
+import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
-import org.apache.hadoop.hbase.classification.InterfaceAudience;
-import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.hbase.io.TimeRange;
+import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -122,7 +122,7 @@ public class CompositeImmutableSegment extends ImmutableSegment {
   }
 
   @Override
-  public boolean shouldSeek(Scan scan, long oldestUnexpiredTS){
+  public boolean shouldSeek(TimeRange tr, long oldestUnexpiredTS){
     throw new IllegalStateException("Not supported by CompositeImmutableScanner");
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f0c1cd50/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java
index 19b66b4..39ad4c6 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java
@@ -24,7 +24,6 @@ import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.util.ClassSize;
-import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.io.TimeRange;
 
 import java.io.IOException;
@@ -130,8 +129,8 @@ public class ImmutableSegment extends Segment {
   /////////////////////  PUBLIC METHODS  /////////////////////
 
   @Override
-  public boolean shouldSeek(Scan scan, long oldestUnexpiredTS) {
-    return this.timeRange.includesTimeRange(scan.getTimeRange()) &&
+  public boolean shouldSeek(TimeRange tr, long oldestUnexpiredTS) {
+    return this.timeRange.includesTimeRange(tr) &&
         this.timeRange.getMax() >= oldestUnexpiredTS;
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f0c1cd50/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java
index 0b8f983..8c7b3c3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java
@@ -27,7 +27,7 @@ import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
-import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.hbase.io.TimeRange;
 import org.apache.hadoop.hbase.util.ClassSize;
 
 import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;
@@ -112,8 +112,8 @@ public class MutableSegment extends Segment {
   }
 
   @Override
-  public boolean shouldSeek(Scan scan, long oldestUnexpiredTS) {
-    return (this.timeRangeTracker.includesTimeRange(scan.getTimeRange())
+  public boolean shouldSeek(TimeRange tr, long oldestUnexpiredTS) {
+    return (this.timeRangeTracker.includesTimeRange(tr)
         && (this.timeRangeTracker.getMax() >= oldestUnexpiredTS));
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f0c1cd50/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java
index a264567..8395119 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java
@@ -32,7 +32,7 @@ import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValueUtil;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
-import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.hbase.io.TimeRange;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.ClassSize;
 
@@ -177,7 +177,7 @@ public abstract class Segment {
     return KeyValueUtil.length(cell);
   }
 
-  public abstract boolean shouldSeek(Scan scan, long oldestUnexpiredTS);
+  public abstract boolean shouldSeek(TimeRange tr, long oldestUnexpiredTS);
 
   public abstract long getMinTimestamp();
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f0c1cd50/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java
index ffdf295..337b763 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java
@@ -280,7 +280,8 @@ public class SegmentScanner implements KeyValueScanner {
    */
   @Override
   public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {
-    return getSegment().shouldSeek(scan,oldestUnexpiredTS);
+    return getSegment().shouldSeek(scan.getColumnFamilyTimeRange()
+            .getOrDefault(store.getColumnFamilyDescriptor().getName(), scan.getTimeRange()), oldestUnexpiredTS);
   }
 
   @Override