[ https://issues.apache.org/jira/browse/HBASE-16165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guanghao Zhang updated HBASE-16165: ----------------------------------- Attachment: HBASE-16165-branch-1.1.patch > 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-branch-1.1.patch, 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)