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

Andrew Purtell commented on HBASE-16703:
----------------------------------------

Bear in mind what I am seeing is in the JFR trace 35% of the time when the JVM 
goes to allocate a TLAB it's because we are asking for a SeekerState object and 
this is the top line of the allocation profile of RPC workers. Seen in 0.98 up 
to 1.2. Hence I'm wondering if there is opportunity for object reuse, both of 
the SeekerState and its twin byte arrays. 

> Explore object pooling of SeekerState
> -------------------------------------
>
>                 Key: HBASE-16703
>                 URL: https://issues.apache.org/jira/browse/HBASE-16703
>             Project: HBase
>          Issue Type: Task
>            Reporter: Andrew Purtell
>            Assignee: ramkrishna.s.vasudevan
>
> In read workloads 35% of the allocation pressure produced by servicing RPC 
> requests, when block encoding is enabled, comes from 
> BufferedDataBlockEncoder$SeekerState.<init>, where we allocate two byte 
> arrays of INITIAL_KEY_BUFFER_SIZE in length. There's an opportunity for 
> object pooling of SeekerState here. Subsequent code checks if those byte 
> arrays are sized sufficiently to handle incoming data to copy. The arrays 
> will be resized if needed. 



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

Reply via email to