You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Phil Yang (JIRA)" <ji...@apache.org> on 2016/08/02 06:13:20 UTC

[jira] [Comment Edited] (HBASE-16285) Drop RPC requests if it must be considered as timeout at client

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

Phil Yang edited comment on HBASE-16285 at 8/2/16 6:12 AM:
-----------------------------------------------------------

deadline is starttime(timestamp) + timeout, timestamp is set before the call being put into the queue.

I think we can add a new call method whose parameters are Call and MonitoredRPCHandler. All parameters are Call's properties except MonitoredRPCHandler.  And we can keep current methods  unchanged. Will upload a new patch soon.


was (Author: yangzhe1991):
deadline is starttime(timestamp) + timeout, timestamp is set before the call being put into the queue.

I think we can add a new call method whose parameters are Call and MonitoredRPCHandler. All parameters are Call's field except MonitoredRPCHandler.  And we can keep current methods  unchanged. Will upload a new patch soon.

> Drop RPC requests if it must be considered as timeout at client
> ---------------------------------------------------------------
>
>                 Key: HBASE-16285
>                 URL: https://issues.apache.org/jira/browse/HBASE-16285
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>         Attachments: HBASE-16285-branch-1-v1.patch, HBASE-16285-branch-1-v2.patch, HBASE-16285-v1.patch, HBASE-16285-v2.patch, HBASE-16285-v3.patch
>
>
> After HBASE-15593, we have a timeout param in header of RPC requests. We can use it in more scenes.
> A straightforward scene is to drop requests if it has waited so long in RPC queue and has been dropped by client. Even if we handle this request and send the response back, it will not be used any more. And client may have sent a retry. In an extreme case, if the server is slow, all requests may be timeout or queue-full-exception because we should handle previous requests which have been dropped by client and many resources at server are wasted.



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