[ 
https://issues.apache.org/jira/browse/HBASE-22802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chenxu updated HBASE-22802:
---------------------------
    Status: Patch Available  (was: Open)

> Avoid temp ByteBuffer allocation in FileIOEngine#read
> -----------------------------------------------------
>
>                 Key: HBASE-22802
>                 URL: https://issues.apache.org/jira/browse/HBASE-22802
>             Project: HBase
>          Issue Type: Improvement
>          Components: BucketCache
>            Reporter: chenxu
>            Assignee: chenxu
>            Priority: Major
>         Attachments: HBASE-22802-master-v1.patch, profile_mem_alloc.png, 
> profile_mem_alloc_with_pool.png
>
>
> a temp ByteBuffer was allocated each time FileIOEngine#read was called
> {code:java}
> public Cacheable read(BucketEntry be) throws IOException {
>   long offset = be.offset();
>   int length = be.getLength();
>   Preconditions.checkArgument(length >= 0, "Length of read can not be less 
> than 0.");
>   ByteBuffer dstBuffer = ByteBuffer.allocate(length);
>   ...
> }
> {code}
> we can avoid this by use of ByteBuffAllocator#allocate(length) after 
> HBASE-21879



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to