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

stack commented on HBASE-15477:
-------------------------------

bq. So we will NOT do "Do not save 'next block header' when we cache 
hfileblocks"?

We don't save the 'header' but we do save the length of the next block which is 
the important bit of info to have (for then we can read the next block in one 
seek... the next block's header comes in as part of this seek and will be 
sitting in the appropriate place in the buffer -- no need to do the 
back-filling header tricks).

> Do not save 'next block header' when we cache hfileblocks
> ---------------------------------------------------------
>
>                 Key: HBASE-15477
>                 URL: https://issues.apache.org/jira/browse/HBASE-15477
>             Project: HBase
>          Issue Type: Sub-task
>          Components: BlockCache, Performance
>            Reporter: stack
>            Assignee: stack
>         Attachments: 15366v4.patch, 15477.patch, 15477v2.patch, 
> 15477v3.patch, 15477v3.patch, 15477v4.patch
>
>
>     When we read from HDFS, we overread to pick up the next blocks header.
>     Doing this saves a seek as we move through the hfile; we save having to
>     do an explicit seek just to read the block header every time we need to
>     read the body.  We used to read in the next header as part of the
>     current blocks buffer. This buffer was then what got persisted to
>     blockcache; so we were over-persisting wrtiting out our block plus the
>     next blocks' header (overpersisting 33 bytes). Parse of HFileBlock
>     complicated by this extra tail. Fix.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to