[
https://issues.apache.org/jira/browse/HBASE-7323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13528800#comment-13528800
]
Matt Corgan commented on HBASE-7323:
------------------------------------
getCurrentCell() or getCurrent() would replace KeyValueScanner.peek(). Or if
we like the name peek(), then peek() would be modified to return a Cell.
nextCell() is the same as KeyValueScanner.next().
The separate names are because i have both on my branch for the benchmark.
Will post more about the benchmark when i get it respectably working, but it
basically runs through a bunch of combinations of compression, encoding, block
size, and RedundantKVGenerator params to compare scan and seek performance and
memory savings.
> add Cell interface to SeekerState and BufferedEncodedSeeker
> -----------------------------------------------------------
>
> Key: HBASE-7323
> URL: https://issues.apache.org/jira/browse/HBASE-7323
> Project: HBase
> Issue Type: Sub-task
> Components: Compaction, Performance, regionserver, Scanners
> Affects Versions: 0.96.0
> Reporter: Matt Corgan
> Attachments: HBASE-7323-SeekerState-Cell-v1.patch
>
>
> SeekerState is the staging site for a Cell while it is being assembled by the
> BufferedEncodedSeeker. When the parent StoreFileScanner calls
> getCurrentCell() it's guaranteed that the Cell is fully assembled, and we can
> directly return the SeekerState as a Cell rather than copying it into a
> KeyValue. A benchmark at the StoreFileScanner level show ~50% faster
> cells/sec than when copying to KeyValues (ignoring garbage collection).
--
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