[
https://issues.apache.org/jira/browse/HBASE-22090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16826804#comment-16826804
]
ramkrishna.s.vasudevan commented on HBASE-22090:
------------------------------------------------
bq. private final ByteBuffAllocator allocator;
BucketEntry will have one more reference now. As Anoop said in RB this may be
adding some more overhead. Is it better to have BucketEntry inside BucketCache
only so that the bucket cache can have ref to the allocator ?
> The HFileBlock#CacheableDeserializer should pass ByteBuffAllocator to the
> newly created HFileBlock
> --------------------------------------------------------------------------------------------------
>
> Key: HBASE-22090
> URL: https://issues.apache.org/jira/browse/HBASE-22090
> Project: HBase
> Issue Type: Sub-task
> Reporter: Zheng Hu
> Assignee: Zheng Hu
> Priority: Major
> Attachments: HBASE-22090.HBASE-21879.v01.patch
>
>
> In HBASE-22005, we have the following TODO in
> HFileBlock#CacheableDeserializer:
> {code}
> public static final class BlockDeserializer implements
> CacheableDeserializer<Cacheable> {
> private BlockDeserializer() {
> }
> @Override
> public HFileBlock deserialize(ByteBuff buf, boolean reuse, MemoryType
> memType)
> throws IOException {
> // ....
> // TODO make the newly created HFileBlock use the off-heap allocator,
> Need change the
> // deserializer or change the deserialize interface.
> return new HFileBlock(newByteBuff, usesChecksum, memType, offset,
> nextBlockOnDiskSize, null,
> ByteBuffAllocator.HEAP);
> }
> {code}
> Should use the global ByteBuffAllocator here rather than HEAP allocator, as
> the TODO said, we need to adjust the interface of deserializer.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)