[
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)