[
https://issues.apache.org/jira/browse/HBASE-15491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15203706#comment-15203706
]
Vladimir Rodionov commented on HBASE-15491:
-------------------------------------------
{quote}
Why we have a putBuffer() call in IPCUtil itself? Can we avoid the special
casing? I mean handle the put back to pool in one place
So this will reduce lots of garbage and so the frequency of young GC.
{quote}
Not sure, I am following you here, [~anoop.hbase]
{quote}
You observed the GC after this? Will it increase the avg young GC pause time?
{quote}
I observed decreased memory allocation rate by 8-10% on a client side (after
HBASE-15479). There is no silver bullet here in memory opt (after HBASE-15479).
Every new improvement will get us several, max 5-7 %.
> Reuse byte buffers in AsyncRpcClient
> ------------------------------------
>
> Key: HBASE-15491
> URL: https://issues.apache.org/jira/browse/HBASE-15491
> Project: HBase
> Issue Type: Improvement
> Components: Client
> Affects Versions: 2.0.0
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Fix For: 2.0.0
>
> Attachments: HBASE-15491-v1.patch
>
>
> IPCUtil.buildCellBlock is used by both server and client. Server provides
> BoundedByteBufferPool for buffers reuse, client code does not do that. This
> results in additional memory pressure on a client side, because buffers are
> allocated on every call to IPCUtil.buildCellBlock.
> My own local tests (with patch) show approximately 8-10% reduction in object
> allocation rate on a client side (with HBASE-15479 as well).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)