[ 
https://issues.apache.org/jira/browse/HBASE-16165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-16165:
------------------------------
    Affects Version/s: 1.4.0
                       1.3.0
                       2.0.0
                       1.1.6
                       1.2.3
                       0.98.22
               Labels: trivial  (was: )
        Fix Version/s: 1.2.4
                       0.98.23
                       1.1.7
                       1.4.0
                       1.3.0
                       2.0.0
          Component/s: rpc
                       IPC/RPC

> Decrease RpcServer.callQueueSize before writeResponse causes OOM
> ----------------------------------------------------------------
>
>                 Key: HBASE-16165
>                 URL: https://issues.apache.org/jira/browse/HBASE-16165
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC, rpc
>    Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.1.6, 1.2.3, 0.98.22
>            Reporter: Duo Zhang
>            Assignee: Guanghao Zhang
>            Priority: Minor
>              Labels: trivial
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.1.7, 0.98.23, 1.2.4
>
>         Attachments: HBASE-16165.patch
>
>
> In RpcServer, we use {{callQueueSizeInBytes}} to avoid queuing too many calls 
> which causes OOM. But in {{CallRunner.run}}, we decrease it before send the 
> response back. And even after calling {{sendResponseIfReady}}, the call 
> object could stay in our heap for a long time if we can not write out the 
> response(That's why we need a Responder thread...). This makes it possible 
> that the actual size of all call object in heap is larger than 
> {{maxQueueSizeInBytes}} and causes OOM.



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

Reply via email to