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

Anoop Sam John commented on HBASE-13694:
----------------------------------------

{code}
/**
   * On construction, adds the size of this call to the running count of 
outstanding call sizes.
   * Presumption is that we are put on a queue while we wait on an executor to 
run us.  During this
   * time we occupy heap.
   */
  // The constructor is shutdown so only RpcServer in this class can make one 
of these.
  CallRunner(final RpcServerInterface rpcServer, final Call call) {
    this.call = call;
    this.rpcServer = rpcServer;
    // Add size of the call to queue size.
    this.rpcServer.addCallSize(call.getSize());
    this.status = getStatus();
  }
{code}
So after the RpcServer.CurCall.set(null)  call, we are cleared of the call 
heap? No right? Am I missing any?

> CallQueueSize is incorrectly decremented until the response is sent
> -------------------------------------------------------------------
>
>                 Key: HBASE-13694
>                 URL: https://issues.apache.org/jira/browse/HBASE-13694
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver, rpc
>    Affects Versions: 2.0.0, 1.1.0, 1.0.2, 1.2.0
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>         Attachments: 
> 0001-HBASE-13694-CallQueueSize-is-incorrectly-decremented.patch
>
>
> We should decrement the CallQueueSize as soon as we no longer need the call 
> around, e.g. after {{RpcServer.CurCall.set(null)}} otherwise we will be only 
> pushing back other client requests while we send the response back to the 
> client that originated the call.



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

Reply via email to