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

Matt Corgan commented on HBASE-9440:
------------------------------------

It's a somewhat advanced optimization, but I've always hoped to see block level 
transfer of data like this.  Both for compactions and long scans.  For 
compactions it's probably quite often that all the cells in a block will remain 
contiguous, in which case you could save the decompression, decoding, heap 
logic, encoding, compression steps.  Just hand the byte[] through to the new 
file.  For the client case, maybe make it a setting to bring whole blocks back 
to the client (as soon as any part of a block is needed) and do filtering logic 
client-side.
                
> Pass blocks of KVs from HFile scanner to the StoreFileScanner and up
> --------------------------------------------------------------------
>
>                 Key: HBASE-9440
>                 URL: https://issues.apache.org/jira/browse/HBASE-9440
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>
> Currently we read KVs from an HFileScanner one-by-one and pass them up the 
> scanner/heap tree. Many time the ranges of KVs retrieved from 
> StoreFileScanner (by StoreScanners) and HFileScanner (by StoreFileScanner) 
> will be non-overlapping. If chunks of KVs do not overlap we can sort entire 
> chunks just by comparing the start/end key of the chunk. Only if chunks are 
> overlapping do we need to sort KV by KV as we do now.
> I have no patch, but I wanted to float this idea. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to