[ https://issues.apache.org/jira/browse/HBASE-22802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Hu updated HBASE-22802: ----------------------------- Fix Version/s: 2.3.0 3.0.0 > 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 > Fix For: 3.0.0, 2.3.0 > > 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)