Duo Zhang created HBASE-16165: --------------------------------- Summary: Decrease RpcServer.callQueueSize before writeResponse causes OOM Key: HBASE-16165 URL: https://issues.apache.org/jira/browse/HBASE-16165 Project: HBase Issue Type: Bug Reporter: Duo Zhang
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)