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

Cosmin Lehene commented on HBASE-4201:
--------------------------------------

[~ddvlad], [~stack], [~apurtell] this logic seems to be in RpcServer.endDelay. 
I wonder if it has other implications or we could just have an adapted patch?

This said, I'm a bit puzzled as the code seems to be called only from tests..

{code}
 @Override
    public synchronized void endDelay(Object result) throws IOException {
      assert this.delayResponse;
      assert this.delayReturnValue || result == null;
      this.delayResponse = false;
      delayedCalls.decrementAndGet();
      if (this.delayReturnValue) {
        this.setResponse(result, null, null, null);
      }
      this.responder.doRespond(this);
    }
{code}


> Fix delayed RPC crash
> ---------------------
>
>                 Key: HBASE-4201
>                 URL: https://issues.apache.org/jira/browse/HBASE-4201
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC
>            Reporter: Vlad Dogaru
>            Assignee: Vlad Dogaru
>            Priority: Minor
>         Attachments: 4201.txt, HBASE-4201-v1.patch
>
>
> Delayed RPC crashes if return value is not delayed and endDelay is called 
> before the actual function returns a value.



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

Reply via email to