[
https://issues.apache.org/jira/browse/HBASE-16285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15397204#comment-15397204
]
Phil Yang commented on HBASE-16285:
-----------------------------------
Hi Anoop, thanks for your comments.
{quote}
System.currentTimeMillis()
Better use EnvironmentEdgeManager?
{quote}
I use System.current because Call.timestamp is also using it in the
[constructor|https://github.com/apache/hbase/blob/a33097e067b73be8e877b822afa90b89a0c7974f/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java#L346].
Is it ok to change to EnvironmentEdgeManager? Or change both of them?
{quote}
dropTimeoutRequestDelay
{quote}
When I use ycsb to benchmark the server, I find that at client the timeout
requests don't fail exactly at the time of setting, usually having a delay of
several milliseconds because of thread scheduling. If we don't add this delay,
the number of failing requests will be a little larger especially when the
timeout setting is short, for example, only 50ms. So I think we need this
delay. But maybe we need not configurable, we can make it a const. 200ms may be
too large, perhaps 50ms is OK for most scenes?
> 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-v1.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)