[
https://issues.apache.org/jira/browse/HBASE-12213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ramkrishna.s.vasudevan updated HBASE-12213:
-------------------------------------------
Release Note:
The read path from the Hfileblock is now backed by a new data structure
represented by an abstract class ByteBuff. The name is similar to nio
ByteBuffer.
The new ByteBuff class has various APIs to read and write primitives to the
underlying implementation similar to how nio ByteBuffer provides.
We have 2 implementations of the ByteBuff now - a single ByteBuffer backed
implementation (SingleByteBuff) and a multiple ByteBuffer backed implementation
(MultiByteBuff).
The single byte buffer (SingleByteBuff) backed implementation will be used for
the HFileBlocks that come from HDFS and from LRU cachce.
The blocks that gets created out of BucketCache will be of type MultiByteBuff
and the read operations are performed over this data structure which
intelligently moves across different Byte buffers that it is formed of.
> HFileBlock backed by Array of ByteBuffers
> -----------------------------------------
>
> Key: HBASE-12213
> URL: https://issues.apache.org/jira/browse/HBASE-12213
> Project: HBase
> Issue Type: Sub-task
> Components: regionserver, Scanners
> Reporter: Anoop Sam John
> Assignee: ramkrishna.s.vasudevan
> Attachments: HBASE-12213_1.patch, HBASE-12213_10_withBBI.patch,
> HBASE-12213_11_withBBI.patch, HBASE-12213_12_withBBI.patch,
> HBASE-12213_12_withBBI.patch, HBASE-12213_13_withBBI.patch,
> HBASE-12213_14_withBBI.patch, HBASE-12213_2.patch, HBASE-12213_4.patch,
> HBASE-12213_8_withBBI.patch, HBASE-12213_9_withBBI.patch,
> HBASE-12213_final.patch, HBASE-12213_jmh.zip
>
>
> In L2 cache (offheap) an HFile block might have been cached into multiple
> chunks of buffers. If HFileBlock need single BB, we will end up in recreation
> of bigger BB and copying. Instead we can make HFileBlock to serve data from
> an array of BBs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)