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() {