You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/04/23 08:12:03 UTC
[12/50] [abbrv] hbase git commit: HBASE-18059 remove scanner order
related code
HBASE-18059 remove scanner order related code
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/556b2237
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/556b2237
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/556b2237
Branch: refs/heads/HBASE-19064
Commit: 556b22374423ff087c0583d02ae4298d4d4f2e6b
Parents: 6ca8261
Author: jingyuntian <ti...@gmail.com>
Authored: Wed Apr 18 10:43:01 2018 +0800
Committer: Michael Stack <st...@apache.org>
Committed: Wed Apr 18 19:38:08 2018 -0700
----------------------------------------------------------------------
.../hbase/regionserver/AbstractMemStore.java | 10 ++++------
.../hbase/regionserver/CompactingMemStore.java | 14 +++++---------
.../regionserver/CompositeImmutableSegment.java | 12 ++----------
.../hbase/regionserver/DefaultMemStore.java | 5 ++---
.../hadoop/hbase/regionserver/KeyValueHeap.java | 7 -------
.../hbase/regionserver/KeyValueScanner.java | 12 ++++++------
.../MemStoreCompactorSegmentsIterator.java | 5 +----
.../MemStoreMergerSegmentsIterator.java | 3 +--
.../hbase/regionserver/MemStoreSnapshot.java | 2 +-
.../hadoop/hbase/regionserver/Segment.java | 12 ++----------
.../hbase/regionserver/SegmentScanner.java | 20 +-------------------
.../hadoop/hbase/regionserver/StoreScanner.java | 7 -------
.../hbase/util/CollectionBackedScanner.java | 7 -------
13 files changed, 25 insertions(+), 91 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java
index e6fd04d..9f4fd2f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java
@@ -60,18 +60,16 @@ public abstract class AbstractMemStore implements MemStore {
public final static long DEEP_OVERHEAD = FIXED_OVERHEAD;
- public static long addToScanners(List<? extends Segment> segments, long readPt, long order,
+ public static void addToScanners(List<? extends Segment> segments, long readPt,
List<KeyValueScanner> scanners) {
for (Segment item : segments) {
- order = addToScanners(item, readPt, order, scanners);
+ addToScanners(item, readPt, scanners);
}
- return order;
}
- protected static long addToScanners(Segment segment, long readPt, long order,
+ protected static void addToScanners(Segment segment, long readPt,
List<KeyValueScanner> scanners) {
- scanners.add(segment.getScanner(readPt, order));
- return order - 1;
+ scanners.add(segment.getScanner(readPt));
}
protected AbstractMemStore(final Configuration conf, final CellComparator c) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
index ea4cc08..68d7d7e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
@@ -354,20 +354,16 @@ public class CompactingMemStore extends AbstractMemStore {
}
@Override
- /*
- * Scanners are ordered from 0 (oldest) to newest in increasing order.
- */
public List<KeyValueScanner> getScanners(long readPt) throws IOException {
MutableSegment activeTmp = active;
List<? extends Segment> pipelineList = pipeline.getSegments();
List<? extends Segment> snapshotList = snapshot.getAllSegments();
- long order = 1L + pipelineList.size() + snapshotList.size();
+ long numberOfSegments = 1L + pipelineList.size() + snapshotList.size();
// The list of elements in pipeline + the active element + the snapshot segment
- // The order is the Segment ordinal
- List<KeyValueScanner> list = createList((int) order);
- order = addToScanners(activeTmp, readPt, order, list);
- order = addToScanners(pipelineList, readPt, order, list);
- addToScanners(snapshotList, readPt, order, list);
+ List<KeyValueScanner> list = createList((int) numberOfSegments);
+ addToScanners(activeTmp, readPt, list);
+ addToScanners(pipelineList, readPt, list);
+ addToScanners(snapshotList, readPt, list);
return list;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/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 b6bbb59..98e0981 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
@@ -120,19 +120,11 @@ public class CompositeImmutableSegment extends ImmutableSegment {
throw new IllegalStateException("Not supported by CompositeImmutableScanner");
}
- /**
- * Creates the scanner for the given read point, and a specific order in a list
- * @return a scanner for the given read point
- */
- @Override
- public KeyValueScanner getScanner(long readPoint, long order) {
- throw new IllegalStateException("Not supported by CompositeImmutableScanner");
- }
@Override
- public List<KeyValueScanner> getScanners(long readPoint, long order) {
+ public List<KeyValueScanner> getScanners(long readPoint) {
List<KeyValueScanner> list = new ArrayList<>(segments.size());
- AbstractMemStore.addToScanners(segments, readPoint, order, list);
+ AbstractMemStore.addToScanners(segments, readPoint, list);
return list;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
index 9ef6a6c..ddeaddf 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
@@ -125,9 +125,8 @@ public class DefaultMemStore extends AbstractMemStore {
*/
public List<KeyValueScanner> getScanners(long readPt) throws IOException {
List<KeyValueScanner> list = new ArrayList<>();
- long order = snapshot.getNumOfSegments();
- order = addToScanners(active, readPt, order, list);
- addToScanners(snapshot.getAllSegments(), readPt, order, list);
+ addToScanners(active, readPt, list);
+ addToScanners(snapshot.getAllSegments(), readPt, list);
return list;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
index b0f42d7..c629f7a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
@@ -415,13 +415,6 @@ public class KeyValueHeap extends NonReversedNonLazyKeyValueScanner
return this.heap;
}
- /**
- * @see KeyValueScanner#getScannerOrder()
- */
- @Override
- public long getScannerOrder() {
- return 0;
- }
@VisibleForTesting
KeyValueScanner getCurrentForTesting() {
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
index 864cc06..7809bff 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
@@ -73,13 +73,13 @@ public interface KeyValueScanner extends Shipper, Closeable {
boolean reseek(Cell key) throws IOException;
/**
- * Get the order of this KeyValueScanner. This is only relevant for StoreFileScanners and
- * MemStoreScanners (other scanners simply return 0). This is required for comparing multiple
- * files to find out which one has the latest data. StoreFileScanners are ordered from 0
- * (oldest) to newest in increasing order. MemStoreScanner gets LONG.max since it always
- * contains freshest data.
+ * Get the order of this KeyValueScanner. This is only relevant for StoreFileScanners.
+ * This is required for comparing multiple files to find out which one has the latest
+ * data. StoreFileScanners are ordered from 0 (oldest) to newest in increasing order.
*/
- long getScannerOrder();
+ default long getScannerOrder(){
+ return 0;
+ }
/**
* Close the KeyValue scanner.
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java
index 6fa8e53..d20d0d0 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java
@@ -56,10 +56,7 @@ public class MemStoreCompactorSegmentsIterator extends MemStoreSegmentsIterator
super(compactionKVMax);
List<KeyValueScanner> scanners = new ArrayList<KeyValueScanner>();
- // create the list of scanners to traverse over all the data
- // no dirty reads here as these are immutable segments
- int order = segments.size();
- AbstractMemStore.addToScanners(segments, Integer.MAX_VALUE, order, scanners);
+ AbstractMemStore.addToScanners(segments, Integer.MAX_VALUE, scanners);
// build the scanner based on Query Matcher
// reinitialize the compacting scanner for each instance of iterator
compactingScanner = createScanner(store, scanners);
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java
index 02824ba..01a780c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java
@@ -47,8 +47,7 @@ public class MemStoreMergerSegmentsIterator extends MemStoreSegmentsIterator {
super(compactionKVMax);
// create the list of scanners to traverse over all the data
// no dirty reads here as these are immutable segments
- int order = segments.size();
- AbstractMemStore.addToScanners(segments, Integer.MAX_VALUE, order, scanners);
+ AbstractMemStore.addToScanners(segments, Integer.MAX_VALUE, scanners);
heap = new KeyValueHeap(scanners, comparator);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java
index cbd60e5..f747224 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java
@@ -40,7 +40,7 @@ public class MemStoreSnapshot implements Closeable {
this.cellsCount = snapshot.getCellsCount();
this.memStoreSize = snapshot.getMemStoreSize();
this.timeRangeTracker = snapshot.getTimeRangeTracker();
- this.scanners = snapshot.getScanners(Long.MAX_VALUE, Long.MAX_VALUE);
+ this.scanners = snapshot.getScanners(Long.MAX_VALUE);
this.tagsPresent = snapshot.isTagsPresent();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/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 70074bf..517f537 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
@@ -118,16 +118,8 @@ public abstract class Segment {
return new SegmentScanner(this, readPoint);
}
- /**
- * Creates the scanner for the given read point, and a specific order in a list
- * @return a scanner for the given read point
- */
- public KeyValueScanner getScanner(long readPoint, long order) {
- return new SegmentScanner(this, readPoint, order);
- }
-
- public List<KeyValueScanner> getScanners(long readPoint, long order) {
- return Collections.singletonList(new SegmentScanner(this, readPoint, order));
+ public List<KeyValueScanner> getScanners(long readPoint) {
+ return Collections.singletonList(new SegmentScanner(this, readPoint));
}
/**
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/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 a8b0d3d..8a867b6 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
@@ -35,12 +35,6 @@ import org.apache.hadoop.hbase.client.Scan;
@InterfaceAudience.Private
public class SegmentScanner implements KeyValueScanner {
- /**
- * Order of this scanner relative to other scanners. See
- * {@link KeyValueScanner#getScannerOrder()}.
- */
- private long scannerOrder;
- private static final long DEFAULT_SCANNER_ORDER = Long.MAX_VALUE;
// the observed structure
protected final Segment segment;
@@ -61,15 +55,11 @@ public class SegmentScanner implements KeyValueScanner {
// flag to indicate if this scanner is closed
protected boolean closed = false;
- protected SegmentScanner(Segment segment, long readPoint) {
- this(segment, readPoint, DEFAULT_SCANNER_ORDER);
- }
/**
- * @param scannerOrder see {@link KeyValueScanner#getScannerOrder()}.
* Scanners are ordered from 0 (oldest) to newest in increasing order.
*/
- protected SegmentScanner(Segment segment, long readPoint, long scannerOrder) {
+ protected SegmentScanner(Segment segment, long readPoint) {
this.segment = segment;
this.readPoint = readPoint;
//increase the reference count so the underlying structure will not be de-allocated
@@ -77,7 +67,6 @@ public class SegmentScanner implements KeyValueScanner {
iter = segment.iterator();
// the initialization of the current is required for working with heap of SegmentScanners
updateCurrent();
- this.scannerOrder = scannerOrder;
if (current == null) {
// nothing to fetch from this scanner
close();
@@ -252,13 +241,6 @@ public class SegmentScanner implements KeyValueScanner {
}
}
- /**
- * @see KeyValueScanner#getScannerOrder()
- */
- @Override
- public long getScannerOrder() {
- return scannerOrder;
- }
/**
* Close the KeyValue scanner.
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 2973e57..9a71a20 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -1046,13 +1046,6 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
return false;
}
- /**
- * @see KeyValueScanner#getScannerOrder()
- */
- @Override
- public long getScannerOrder() {
- return 0;
- }
/**
* Seek storefiles in parallel to optimize IO latency as much as possible
http://git-wip-us.apache.org/repos/asf/hbase/blob/556b2237/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
index d8b218c..d69a8c7 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
@@ -116,13 +116,6 @@ public class CollectionBackedScanner extends NonReversedNonLazyKeyValueScanner {
return false;
}
- /**
- * @see org.apache.hadoop.hbase.regionserver.KeyValueScanner#getScannerOrder()
- */
- @Override
- public long getScannerOrder() {
- return 0;
- }
@Override
public void close() {