[
https://issues.apache.org/jira/browse/HBASE-9553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13769048#comment-13769048
]
Nick Dimiduk commented on HBASE-9553:
-------------------------------------
I think it's worth giving a try. Why not take it one step further and
self-manage a slice of the BlockCache with this pre-defined block size, a la
MemStoreLAB? Reserve, say, 80% of the BlockCache for slab management and leave
the rest for the awkward-sized blocks.
Instead of explicitly setting the buffer size, why not sample existing HFiles
and calculate a guesstimate?
> Pad HFile blocks to a fixed size before placing them into the blockcache
> ------------------------------------------------------------------------
>
> Key: HBASE-9553
> URL: https://issues.apache.org/jira/browse/HBASE-9553
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
>
> In order to make it easy on the garbage collector and to avoid full
> compaction phases we should make sure that all (or at least a large
> percentage) of the HFile blocks as cached in the block cache are exactly the
> same size.
> Currently an HFile block is typically slightly larger than the declared block
> size, as the block will accommodate that last KV on the block. The padding
> would be a ColumnFamily option. In many cases 100 bytes would probably be a
> good value to make all blocks exactly the same size (but of course it depends
> on the max size of the KVs).
> This does not have to be perfect. The more blocks evicted and replaced in the
> block cache are of the exact same size the easier it should be on the GC.
> Thoughts?
--
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