[ 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)