hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Rodionov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15491) Reuse byte buffers in AsyncRpcClient
Date Mon, 21 Mar 2016 04:55:25 GMT

    [ 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:

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.

Not sure, I am following you here, [~anoop.hbase]

 You observed the GC after this? Will it increase the avg young GC pause time?

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

View raw message