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]