[
https://issues.apache.org/jira/browse/HBASE-17757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15923165#comment-15923165
]
Anoop Sam John commented on HBASE-17757:
----------------------------------------
{code}
if((unifyEncodedBlockSizeEnabled && blockWriter.encodedBlockSizeWritten() >=
encodedBlockSizeLimit)
327 || (blockWriter.blockSizeWritten() >=
hFileContext.getBlocksize())) {
{code}
This is what there in code. So this is an || check. I was thinking of same way
only when having a ratio only config. The boolean enable/disable config , with
defaults to disable is not required if we make ratio = 1. That means the check
will be like
blockWriter.encodedBlockSizeWritten() >= encodedBlockSizeLimit ||
blockWriter.blockSizeWritten() >= hFileContext.getBlocksize() so only the old
way of block size determines the block boundary. Ya encodeBlockSize new config
also same way. Rather than say a ratio, say exact size. Both way almost same.
> Unify blocksize after encoding to decrease memory fragment
> -----------------------------------------------------------
>
> Key: HBASE-17757
> URL: https://issues.apache.org/jira/browse/HBASE-17757
> Project: HBase
> Issue Type: New Feature
> Reporter: Allan Yang
> Assignee: Allan Yang
> Attachments: HBASE-17757.patch
>
>
> Usually, we store encoded block(uncompressed) in blockcache/bucketCache.
> Though we have set the blocksize, after encoding, blocksize is varied. Varied
> blocksize will cause memory fragment problem, which will result in more FGC
> finally.In order to relief the memory fragment, This issue adjusts the
> encoded block to a unified size.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)