apurtell commented on a change in pull request #2663:
URL: https://github.com/apache/hbase/pull/2663#discussion_r524499246



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
##########
@@ -817,7 +835,13 @@ private void seekOrSkipToNextRow(Cell cell) throws 
IOException {
 
   private void seekOrSkipToNextColumn(Cell cell) throws IOException {
     if (!trySkipToNextColumn(cell)) {
+      boolean prevIndexKeyNull = (getNextIndexedKey() == null);
       seekAsDirection(matcher.getKeyForNextColumn(cell));
+      if (prevIndexKeyNull) {
+        // even if one seek has lead to another block - reset to false.

Review comment:
       This comment should be rewritten or removed. Ideally not removed, 
because you are trying to communicate something important for understanding how 
the code works. Try a rewrite?

##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
##########
@@ -205,6 +207,9 @@ private StoreScanner(HStore store, Scan scan, ScanInfo 
scanInfo,
       this.scanUsePread = this.readType != Scan.ReadType.STREAM;
     }
     this.preadMaxBytes = scanInfo.getPreadMaxBytes();
+    // TODO : Introduce config here at the ScanInfo level. Determine based on 
number of blocks

Review comment:
       This would be something deeply internal that no user could meaningfully 
set unless they read all the code and become a wizard. Please figure this out 
based on current configuration. 
   
   No new config!

##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
##########
@@ -786,6 +791,19 @@ private void updateMetricsStore(boolean memstoreRead) {
     }
   }
 
+  private void doSeekCol(Cell cell) throws IOException {
+    // we check when ever a seek_next_col happens did the seek really land in 
a new block.

Review comment:
       I'm not sure this comment helps with understanding. (It doesn't for me, 
but could just be me...)
   Rewrite it?
   
   Questions to be answered by the comment:
   - What does this optimization do? Why next() instead of seekOrSkip...? 
   - Is this the right layer to be doing this? 
     - Why does this optimization have to be done here instead of down in the 
file scanner? 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to