[ https://issues.apache.org/jira/browse/HBASE-16285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403430#comment-15403430 ]
Phil Yang commented on HBASE-16285: ----------------------------------- 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)