[
https://issues.apache.org/jira/browse/HBASE-17449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15965507#comment-15965507
]
Phil Yang commented on HBASE-17449:
-----------------------------------
[~carp84]Thanks for reminding.
I think we have a consensus that hbase.client.scanner.timeout.period should not
be used at both client and server side because they have different meaning? The
config for scanner rpc timeout should better be have a "rpc" substring, and
this config has a substring called "client" so it is very confusing to only use
at server...
My suggestion is we can first deprecated hbase.client.scanner.timeout.period
and introduce two new configs called hbase.rpc.scan.timeout and
hbase.regionserver.scanner.ttl. What do you think?
And we should consider what is suitable timeout setting on batch. Usually a
batch contains many operations so it is slower than single Put/Get. I'm not
sure if it should follow rpc timeout and operation timeout. Of course we can
just use it because we can have different timeout setting in different Table
instances, so maybe it is not a problem. But we should make sure current AP and
AsyncClient follow the rule.
> Add explicit document on different timeout settings
> ---------------------------------------------------
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
> Issue Type: Improvement
> Components: documentation
> Reporter: Yu Li
> Priority: Critical
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the
> difference of these timeout settings (there're explanations for each
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
> 1. For released versions: controlled by hbase.rpc.timeout
> 2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout,
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should
> use if I don't want to wait for more than 1 second for a single
> put/get/scan.next call", we could give a neat answer.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)