hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Yang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings
Date Wed, 12 Apr 2017 07:36:41 GMT

    [ 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
> 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

View raw message