hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Esteban Gutierrez (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13694) CallQueueSize is incorrectly decremented until the response is sent
Date Mon, 18 May 2015 17:08:03 GMT

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

Esteban Gutierrez commented on HBASE-13694:
-------------------------------------------

[~stack]: yeah I found a place where that can happen, I have a new patch were basically we
decrement callQueueSize immediately if the call is successful but we left the decrement until
the finally clause if there was an exception.

[~lhofhansl]: Not in 0.94 since we decrement callQueueSize after the call is made but before
sending the response:
{code}
          CurCall.set(null);
      	  callQueueSize.add(call.getSize() * -1);
          // Set the response for undelayed calls and delayed calls with
          // undelayed responses.
	  if (!call.isDelayed() || !call.isReturnValueDelayed()) {
            call.setResponse(value,
              errorClass == null? Status.SUCCESS: Status.ERROR,
                errorClass, error);
          }
          call.sendResponseIfReady();
	  status.markComplete("Sent response");
{code}

However that still have the old issue that any exception before decrementing the queue size
will be miscount.




> 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, 0.98.12, 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)

Mime
View raw message