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

Yong Zhang commented on HBASE-10605:
------------------------------------

How server side know client call timeout, I think client rpc should include the 
timeout parameter and submit time, and server side will have a monitor.
And more hbase rpc client has retry, request time out seems after some calls 
failed or socket timeout, how to handle this scenario?

> Manage the call timeout in the server
> -------------------------------------
>
>                 Key: HBASE-10605
>                 URL: https://issues.apache.org/jira/browse/HBASE-10605
>             Project: HBase
>          Issue Type: Improvement
>          Components: IPC/RPC, regionserver
>    Affects Versions: 0.99.0
>            Reporter: Nicolas Liochon
>
> Since HBASE-10566, we have an explicit call timeout available in the client.
> We could forward it to the server, and use this information for:
> - if the call is still in the queue, just cancel it
> - if the call is under execution, makes this information available in 
> RpcCallContext (actually change the RpcCallContext#disconnectSince to 
> something more generic), so it can be used by the query under execution to 
> stop its execution
> - in the future, interrupt it to manage the case 'stuck on a dead datanode' 
> or something similar
> - if the operation has finished, don't send the reply to the client, as by 
> definition the client is not interested anymore.
> From this, it will be easy to manage the cancellation: 
> disconnect/timeout/cancellation are similar from a service execution PoV



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

Reply via email to