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

Phil Yang commented on HBASE-15645:
-----------------------------------

{code:title=HConstants.java|borderStyle=solid}
/** Parameter name for HBase client operation timeout, which overrides RPC 
timeout */
public static final String HBASE_CLIENT_OPERATION_TIMEOUT = 
"hbase.client.operation.timeout";
{code}
Checked the comment on hbase.client.operation.timeout, it saids it will 
override RPC timeout. However, if I am not wrong, in 0.98, in each rpc request, 
the timeout is hbase.rpc.timeout, and if the rpc timeout or failed(not DNRIOE) 
it will retry until success, or RetriesExhaustedException, or the total 
blocking time exceed hbase.client.operation.timeout.

In master(and maybe 1.x, not checked), we use hbase.client.operation.timeout as 
timeout for each rpc directly. If this request timeout, we will not retry and 
throw SocketTimeoutException.

I think the logic of 0.98 is right, what do you think? 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
(v6.3.4#6332)

Reply via email to