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)