[ 
https://issues.apache.org/jira/browse/HBASE-13109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14341894#comment-14341894
 ] 

Lars Hofhansl commented on HBASE-13109:
---------------------------------------

The first patch does a bunch of things:
# get rid of Scan.LOOK_AHEAD, that is no longer needed
# Optimize KeyValue.KeyOnlyKeyValue a bit (to reuse the fields from KeyValue 
and save a few bytes of heap) - that part I could remove, I'm not using that 
anymore, but it seemed good anyway.
# Uses the next indexed key that the HFileScanner already maintain to decide 
whether a seek would be likely to seek to a new block. If so the StoreScanner 
will continue to issue SEEKs, otherwise it will SKIP instead.
# Adds a some helpers to KeyValueUtil to build a key array to avoid creating 
KeyValue objects unnecessarily


> Make better SEEK vs SKIP decisions during scanning
> --------------------------------------------------
>
>                 Key: HBASE-13109
>                 URL: https://issues.apache.org/jira/browse/HBASE-13109
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Priority: Minor
>         Attachments: 13109-trunk.txt
>
>
> I'm re-purposing this issue to add a heuristic as to when to SEEK and when to 
> SKIP Cells. This has come up in various issues, and I think I have a way to 
> finally fix this now. HBASE-9778, HBASE-12311, and friends are related.
> --- Old description ---
> This is a continuation of HBASE-9778.
> We've seen a scenario of a very slow scan over a region using a timerange 
> that happens to fall after the ts of any Cell in the region.
> Turns out we spend a lot of time seeking.
> Tested with a 5 column table, and the scan is 5x faster when the timerange 
> falls before all Cells' ts.
> We can use the lookahead hint introduced in HBASE-9778 to do opportunistic 
> SKIPing before we actually seek.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to