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-15645) hbase.rpc.timeout is not used in get operation
Date Wed, 13 Apr 2016 15:47:25 GMT

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

Phil Yang commented on HBASE-15645:

Furthermore, I think the timeout of scan rpc should also be hbase.rpc.timeout especially now
we have heartbeat for scan. We use hbase.client.scanner.timeout.period in two places now,
one is the timeout for scan rpc, the other is TTL for a scanner in RS, and they are different.
The timeout of scan rpc means "if server don't response within xxx ms, client should retry
or throw an exception", the TTL means "if client doesn't send any request for this scanner
more than xxx ms, we can remove the cached scanner". Although two usages are independent because
one is at client and one is at server so we can set different value at two sides, but I think
it is more clear to split them into two conf and for scan rpc timeout, the hbase.rpc.timeout
is enough now.

There may be a further step that we support each request having different timeout by add a
parameter in Table.get/scan/put...

Any ideas? Thanks

> hbase.rpc.timeout is not used in get operation
> ----------------------------------------------
>                 Key: HBASE-15645
>                 URL: https://issues.apache.org/jira/browse/HBASE-15645
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>            Priority: Critical
> While fixing HBASE-15593, I find that we use operationTimeout as the timeout of Get operation
rpc call (hbase.client.scanner.timeout.period is used in scan rpc), not the hbase.rpc.timeout.
> This can be verified by add one line in TestHCM.setUpBeforeClass():
> {code}
> TEST_UTIL.getConfiguration().setLong(HConstants.HBASE_RPC_TIMEOUT_KEY, 3000);
> {code}
> and then run testOperationTimeout(), the test passes but it should have failed because
we should get rpc timeout first after 3 seconds then client should retry and timeout again
and again until operationTimeout or max retries reached.
> If I port this test to 0.98, it will fail as expected.

This message was sent by Atlassian JIRA

View raw message