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

Hudson commented on HBASE-15177:
--------------------------------

FAILURE: Integrated in HBase-1.3 #535 (See 
[https://builds.apache.org/job/HBase-1.3/535/])
HBASE-15177 Reduce garbage created under high load (enis: rev 
73d67788206c3f60773d861375f5e6934a284418)
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientImpl.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java
* hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestIPCUtil.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/IPCUtil.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAccess.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
* 
hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferInputStream.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/util/Threads.java
* 
hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientScanner.java


> 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
>
>         Attachments: Screen Shot 2016-01-26 at 10.03.48 PM.png, Screen Shot 
> 2016-01-26 at 10.03.56 PM.png, Screen Shot 2016-01-26 at 10.06.16 PM.png, 
> Screen Shot 2016-01-26 at 10.15.15 PM.png, hbase-15177_v0.patch, 
> hbase-15177_v1.patch, hbase-15177_v2.patch, hbase-15177_v3.patch, 
> hbase-15177_v4.patch, hbase-15177_v4.patch
>
>
> 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
(v6.3.4#6332)

Reply via email to