Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 552EC200D0E for ; Mon, 11 Sep 2017 09:42:31 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 53E161609C7; Mon, 11 Sep 2017 07:42:31 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 720731609C6 for ; Mon, 11 Sep 2017 09:42:30 +0200 (CEST) Received: (qmail 96599 invoked by uid 500); 11 Sep 2017 07:42:29 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 96092 invoked by uid 99); 11 Sep 2017 07:42:29 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Sep 2017 07:42:29 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 46890F5711; Mon, 11 Sep 2017 07:42:28 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: busbey@apache.org To: commits@hbase.apache.org Date: Mon, 11 Sep 2017 07:42:33 -0000 Message-Id: In-Reply-To: <9a073cac3035449e87c647186a7253db@git.apache.org> References: <9a073cac3035449e87c647186a7253db@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [06/50] [abbrv] hbase git commit: HBASE-18749 Apply the CF specific TimeRange from Scan to filter the segment scanner archived-at: Mon, 11 Sep 2017 07:42:31 -0000 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/2f14a054 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2f14a054 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2f14a054 Branch: refs/heads/HBASE-18467 Commit: 2f14a054f8d6497dee4a65f0206f5bf522477ef9 Parents: f36fb11 Author: Chia-Ping Tsai Authored: Tue Sep 5 22:37:38 2017 +0800 Committer: Chia-Ping Tsai Committed: Wed Sep 6 19:40:51 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/2f14a054/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 c73e5f5..0b07fe3 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/2f14a054/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 9d53c7c..bca5fe8 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 @@ -22,7 +22,6 @@ package org.apache.hadoop.hbase.regionserver; import org.apache.hadoop.hbase.CellComparator; 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.util.ArrayList; @@ -79,8 +78,8 @@ public abstract 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/2f14a054/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 0ec250a..8c09930 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; @@ -113,8 +113,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/2f14a054/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 bb15285..39d1da7 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/2f14a054/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