[ https://issues.apache.org/jira/browse/HBASE-13142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14348380#comment-14348380 ]
Hudson commented on HBASE-13142: -------------------------------- FAILURE: Integrated in HBase-TRUNK #6209 (See [https://builds.apache.org/job/HBase-TRUNK/6209/]) HBASE-13142 [PERF] Reuse the IPCUtil#buildCellBlock buffer (stack: rev 55f8f56ad28f71a893acb1e5993689499134a018) * hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/IPCUtil.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestByteBufferOutputStream.java * hbase-common/src/test/java/org/apache/hadoop/hbase/io/TestByteBufferResevoir.java * hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java * hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java * hbase-common/src/main/java/org/apache/hadoop/hbase/io/BoundedByteBufferPool.java Revert " HBASE-13142 [PERF] Reuse the IPCUtil#buildCellBlock buffer" (stack: rev 74837d9b1f13b42415395e08ff168aeed0c21676) * hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/IPCUtil.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestByteBufferOutputStream.java * hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java * hbase-common/src/main/java/org/apache/hadoop/hbase/io/BoundedByteBufferPool.java * hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java * hbase-common/src/test/java/org/apache/hadoop/hbase/io/TestByteBufferResevoir.java > [PERF] Reuse the IPCUtil#buildCellBlock buffer > ---------------------------------------------- > > Key: HBASE-13142 > URL: https://issues.apache.org/jira/browse/HBASE-13142 > Project: HBase > Issue Type: Improvement > Components: Performance > Reporter: stack > Assignee: stack > Labels: beginner > Fix For: 2.0.0, 1.1.0 > > Attachments: 13142.txt, 13142v2.txt, traces.2.svg, traces.svg > > > Running some scan profiling, flight recorder was mildly fingering resize of > the buffer allocated in IPCUtil#buildCellBlock as a point of contention. It > was half-hearted blaming it for a few hundreds of ms over a five minute > sampling with a few tens of instances showing. > I tried then w/ flamegraph/lightweight profiler and this reported the buffer > allocations taking 22% of our total CPU. See attachment trace.svg. > I enabled TRACE-level logging on org.apache.hadoop.hbase.ipc.IPCUtil and > indeed every allocation was doing a resize from initial allocation of 16k -- > the default up to 220k (this test returns ten randomly sized rows zipfian > sized between 0 and 8k). > Upping the allocation to 220k meant we now avoided the resize but the initial > allocation was now blamed for 10% of allocations (see trace.2.svg attached). > Lets do buffer reuse. Will save a bunch of allocation and CPU. -- This message was sent by Atlassian JIRA (v6.3.4#6332)