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

Phil Yang commented on HBASE-16285:
-----------------------------------

The second call method 
{quote}
Pair<Message, CellScanner> call(BlockingService service, MethodDescriptor md,
      Message param, CellScanner cellScanner, long receiveTime, 
MonitoredRPCHandler status,
      int timeout) throws IOException, ServiceException;
{quote}
is introduced by HBASE-15593 in branch-1.3+.  And after adding new method, this 
one is not used any more, since 1.3.0 is not released, maybe we can remove it 
and deprecate the first call?

> 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, HBASE-16285-v4.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)

Reply via email to