[ 
https://issues.apache.org/jira/browse/HBASE-17757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Allan Yang updated HBASE-17757:
-------------------------------
    Release Note: Blocksize is set in columnfamily's atrributes. It is used to 
control block sizes when generating blocks. But, it doesn't take encoding into 
count. If you set encoding to blocks, after encoding, the block size varies. 
Since blocks will be cached in memory after encoding (default), it will cause 
memory fragment if using blockcache, or decrease the pool efficiency if using 
bucketCache. This issue introduced a new config named 
'hbase.writer.unified.encoded.blocksize.ratio'. The default value of this 
config is 1, meaning doing nothing. If this value is set to a smaller value 
like 0.5, and the blocksize is set to 64KB(default value of blocksize). It will 
unify the blocksize after encoding to 64KB * 0.5 = 32KB. Unified blocksize will 
releaf the memory problems mentioned above.

> 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, HBASE-17757v2.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)

Reply via email to