hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings
Date Wed, 11 Jan 2017 09:39:58 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15817810#comment-15817810

Duo Zhang commented on HBASE-17449:

I use scan timeout as the operation timeout for scan in async table implementation as I think
all rpc timeout related config should have 'rpc' in the config name.

But I agree that have a single operation timeout is much more friendly to users. Maybe we
could change the name to 'hbase.rpc.scan.timeout'?

In HBASE-17372, I plan to remove the deprecated annotation from hbase.rpc.timeout. It should
be the default rpc timeout config. And we can set read, write, scan or some other operation
specific configs to override the default rpc timeout for the specific operations.

I do not know the exact meanings of the timeout configs in HBase for the old blocking implementations...
It is totally a mess... Seems the different developers of the client library do not follow
the same rule... For example, the AsyncProcess seems using a completely different timeout


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