[
https://issues.apache.org/jira/browse/HBASE-15756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15411614#comment-15411614
]
ramkrishna.s.vasudevan commented on HBASE-15756:
------------------------------------------------
Seeing the code here - the Netty4RpcServer tries to create some buffers
internally thro which the requests are read (now that is getting pooled and
hence the above mentioned stack trace where every allocated buffer is cleared
up to avoid full GC ) is now gone. Once we read from the netty buffers again we
create onheap NIO buffers and hand over them to process the requests? Am I
missing anything here?
{code}
// There's enough bytes in the buffer. Read it.
1329 // ByteBuffer data = buf.toByteBuffer(buf.readerIndex(), length);
1330 ByteBuffer data = ByteBuffer.allocate(length);
1331 buf.readBytes(data);
1332 data.flip();
1333 // buf.skipBytes(length);
1334 return data;
{code}
This is where our pooling was done. So what we do here is to ensure that the
incoming requests are accepted much faster than the existing RPC Server and
then go ahead with our way of pooled BBs.
> Pluggable RpcServer
> -------------------
>
> Key: HBASE-15756
> URL: https://issues.apache.org/jira/browse/HBASE-15756
> Project: HBase
> Issue Type: Improvement
> Components: Performance, rpc
> Reporter: binlijin
> Assignee: binlijin
> Priority: Critical
> Attachments: Netty4RpcServer_forperf.patch, NettyRpcServer.patch,
> NettyRpcServer_forperf.patch, PooledByteBufAllocator.patch,
> PooledByteBufAllocator2.patch, gc.png, gets.png, gets.png, idle.png,
> patched.vs.patched_and_cached.vs.no_patch.png, queue.png
>
>
> Current we use a simple RpcServer, and can not configure and use other
> implementation.This issue is to make the RpcServer pluggable, so we can make
> other implementation for example netty rpc server. Patch will upload laterly
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)