[
https://issues.apache.org/jira/browse/HBASE-15593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15284892#comment-15284892
]
Mikhail Antonov commented on HBASE-15593:
-----------------------------------------
[~stack] Yeah, I'm good with it in 1.3.
Skimmed the last patch, had a few questions as I go though..
bq. requestHeaderBuilder.setTimeout(call.rpcTimeout > Integer.MAX_VALUE ?
This check looks weird?
{code}
/**
270 * Minimum allowable timeout (in milliseconds) in rpc request's
header. This
271 * configuration exists to prevent the rpc service regarding this
request as timeout immediately.
272 */
....
if (header.hasTimeout()){
1938 timeout = Math.max(minClientRequestTimeout,
header.getTimeout());
1939 }
{code}
Why do we need that? If that to prevent clients from accidentally or willfully
setting ridiculously small timeout with high num retries and DDOS-ing cluster?
If you're a client and want smaller latency, talk to cluster admit?
> Time limit of scanning should be offered by client
> --------------------------------------------------
>
> Key: HBASE-15593
> URL: https://issues.apache.org/jira/browse/HBASE-15593
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.2.0, 1.1.4
> Reporter: Phil Yang
> Assignee: Phil Yang
> Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.2, 1.1.6
>
> Attachments: HBASE-15593-branch-1-v1.patch,
> HBASE-15593-branch-1-v2.patch, HBASE-15593-branch-1-v3.patch,
> HBASE-15593-branch-1.1-v1.patch, HBASE-15593-branch-1.1-v2.patch,
> HBASE-15593-branch-1.1-v3.patch, HBASE-15593-branch-1.2-v1.patch,
> HBASE-15593-branch-1.2-v2.patch, HBASE-15593-branch-1.2-v3.patch,
> HBASE-15593-v1.patch, HBASE-15593-v2.patch, HBASE-15593-v3.patch,
> HBASE-15593-v4.patch, HBASE-15593-v5.patch, HBASE-15593-v6.patch,
> HBASE-15593-v7.patch
>
>
> In RSRpcServices.scan, we will set a time limit equaling to
> Math.min(scannerLeaseTimeoutPeriod, rpcTimeout) / 2, and will response
> heartbeat message if we reach this limit. However, two timeout settings
> (hbase.client.scanner.timeout.period and hbase.rpc.timeout) are read from
> RS's configure, which may be different from client's. If client's setting is
> much less than server's, there may still be timeout at client side.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)