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

Anoop Sam John commented on HBASE-23279:
----------------------------------------

bq.ROW_INDEX_V1 indeed seems to be taking more space for BucketCache.
The concern above was that whether the HFile blocks with ROW_INDEX_V1 encoding 
will take more size than the NONE.   But the block building logic is 
considering the encoded size also now.
{code}
if (blockWriter.encodedBlockSizeWritten() >= encodedBlockSizeLimit
        || blockWriter.blockSizeWritten() >= hFileContext.getBlocksize()) {
      finishBlock();
      writeInlineBlocks(false);
      newBlock();
    }
{code}
So if the block size is 64 KB either the encoded size or the encoded size 
reaches this limit, we finish and move to next block.  So on Bucket Cache 
bucket sizes this wont be a concern.And by default the encodedBlockSizeLimit = 
hFileContext.getBlocksize() only.

> Switch default block encoding to ROW_INDEX_V1
> ---------------------------------------------
>
>                 Key: HBASE-23279
>                 URL: https://issues.apache.org/jira/browse/HBASE-23279
>             Project: HBase
>          Issue Type: Wish
>    Affects Versions: 3.0.0, 2.3.0
>            Reporter: Lars Hofhansl
>            Assignee: Viraj Jasani
>            Priority: Minor
>             Fix For: 3.0.0, 2.3.0
>
>         Attachments: HBASE-23279.master.000.patch, 
> HBASE-23279.master.001.patch, HBASE-23279.master.002.patch
>
>
> Currently we set both block encoding and compression to NONE.
> ROW_INDEX_V1 has many advantages and (almost) no disadvantages (the hfiles 
> are slightly larger about 3% or so). I think that would a better default than 
> NONE.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to