hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-15177) Reduce garbage created under high load
Date Wed, 27 Jan 2016 06:09:39 GMT
Enis Soztutar created HBASE-15177:

             Summary: Reduce garbage created under high load
                 Key: HBASE-15177
                 URL: https://issues.apache.org/jira/browse/HBASE-15177
             Project: HBase
          Issue Type: Improvement
            Reporter: Enis Soztutar
            Assignee: Enis Soztutar
             Fix For: 2.0.0, 1.3.0

I have been doing some profiling of the garbage being created. The idea was to follow up on
HBASE-14490 and experiment with offheap IPC byte buffers and byte buffer re-use. However,
without changing the IPC byte buffers for now, there are a couple of (easy) improvements that
I've identified from profiling: 

1. RPCServer.Connection.processRequest() should work with ByteBuffer instead of byte[] and
not-recreate CodedInputStream a few times. 

2. RSRpcServices.getRegion() allocates two byte arrays for region, while only 1 is needed.

3. AnnotationReadingPriorityFunction is very expensive in allocations. Mainly it allocates
the regionName byte[] to get the table name. We already set the priority for most of the operations
(multi, get, increment, etc) but we are only reading the priority in case of multi. We should
use the priority from the client side. 

Lets do the simple improvements in this patch, we can get to IPC buffer re-use in HBASE-14490.

This message was sent by Atlassian JIRA

View raw message