You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Yong Zhang (JIRA)" <ji...@apache.org> on 2016/02/23 17:32:18 UTC

[jira] [Commented] (HBASE-10605) Manage the call timeout in the server

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