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

stack commented on HBASE-15525:
-------------------------------

So, just to note, on read side, we are already reading in 'chunks'. If you look 
at RpcServer, when we read in the request, we are currently reading into an 
onheap BB -- until HBASE-14490 [RpcServer] reuse request read buffer goes in at 
least -- that is allocated just to hold the response. We fill this BB by 
reading off the socket channel in chunks of NIO_BUFFER_LIMIT (64kb). Seems like 
we could plug in an MBB here that referenced fixed-size BBs gotten from a pool 
as you are doing here -- so both read and write-side.

> OutOfMemory could occur when using BoundedByteBufferPool during RPC bursts
> --------------------------------------------------------------------------
>
>                 Key: HBASE-15525
>                 URL: https://issues.apache.org/jira/browse/HBASE-15525
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC
>            Reporter: deepankar
>            Assignee: Anoop Sam John
>            Priority: Critical
>         Attachments: WIP.patch
>
>
> After HBASE-13819 the system some times run out of direct memory whenever 
> there is some network congestion or some client side issues.
> This was because of pending RPCs in the RPCServer$Connection.responseQueue 
> and since all the responses in this queue hold a buffer for cellblock from 
> BoundedByteBufferPool this could takeup a lot of memory if the 
> BoundedByteBufferPool's moving average settles down towards a higher value 
> See the discussion here 
> [HBASE-13819-comment|https://issues.apache.org/jira/browse/HBASE-13819?focusedCommentId=15207822&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15207822]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to