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

Allan Yang edited comment on HBASE-17757 at 3/9/17 11:31 AM:
-------------------------------------------------------------

{quote}
Why would we not just enable this behavior always? What feedback do i get that 
tells me I've chosen a bad UNIFY_ENCODED_BLOCKSIZE_RATIO ? Thank you.
{quote}
For long time, blockszie is stand for block size before encoding, user may have 
carefully chose a blocksize to balance the performance. if we enable this 
feature always, after upgrading their HBase to a new version with this patch, 
the actual blocksize will be changed. It may not be friendly to some users. So 
in our company, we made a switch, only deploying this feature for new 
customers. Old customers who want to use this feature need to carefully choose 
a UNIFY_ENCODED_BLOCKSIZE_RATIO .
{quote}
What feedback do i get that tells me I've chosen a bad 
UNIFY_ENCODED_BLOCKSIZE_RATIO ?
{quote}
No feedback, I'm afraid. Like blocksize, HBase users is responsible for their 
choose.  A bad 'blocksize' or ' UNIFY_ENCODED_BLOCKSIZE_RATIO' may compromise 
performance, but no other damage.

{quote}
 Can we just reduce the #configs here? Say by default we want this feature to 
be off then give this ratio as 1 only?
{quote}
[~anoopsamjohn], some problem here, blockszie is stand for block size before 
encoding, if we use only ratio to control this feature, blocksize will become 
block size after encoding

After all, If we add a new config for hfile block, for example, 
'encodedBlocksize', if it is set, it will override 'blocksize', then we can 
introduce only one new config. What do you think? [~stack], [~anoopsamjohn]



was (Author: allan163):
{quote}
Why would we not just enable this behavior always? What feedback do i get that 
tells me I've chosen a bad UNIFY_ENCODED_BLOCKSIZE_RATIO ? Thank you.
{quote}
For long time, blockszie is stand for block size before encoding, user may have 
carefully chose a blocksize to balance the performance. if we enable this 
feature always, after upgrading their HBase to a new version with this patch, 
the actual blocksize will be changed. It may not be friendly to some users. So 
in our company, we made a switch, only deploying this feature for new 
customers. Old customers who want to use this feature need to carefully choose 
a UNIFY_ENCODED_BLOCKSIZE_RATIO .
{quote}
What feedback do i get that tells me I've chosen a bad 
UNIFY_ENCODED_BLOCKSIZE_RATIO ?
{quote}
No feedback, I'm afraid. Like blocksize, HBase users is responsible for their 
choose.  A bad 'blocksize' or ' UNIFY_ENCODED_BLOCKSIZE_RATIO' may compromise 
performance, but no other damage.

{quote}
 Can we just reduce the #configs here? Say by default we want this feature to 
be off then give this ratio as 1 only?
{quote}
[~anoopsamjohn], some problem here, blockszie is stand for block size before 
encoding, if we use only ratio to control this feature, blocksize will become 
block size after encoding

After all, If we add a new config for hfile block, for example, 
'encodedBlocksize', if it is set, it will override 'blocksize', then we can 
introduce only one new config.


> 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)

Reply via email to