hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15866) Split hbase.rpc.timeout into *.read.timeout and *.write.timeout
Date Sun, 07 Aug 2016 03:09:20 GMT

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

Hudson commented on HBASE-15866:
--------------------------------

FAILURE: Integrated in HBase-Trunk_matrix #1368 (See [https://builds.apache.org/job/HBase-Trunk_matrix/1368/])
HBASE-15866 Split hbase.rpc.timeout into *.read.timeout and (apurtell: rev 30d7eeaefe431bc263519064662e6dc8ad8ff05a)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
* hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
* hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java


> Split hbase.rpc.timeout into *.read.timeout and *.write.timeout
> ---------------------------------------------------------------
>
>                 Key: HBASE-15866
>                 URL: https://issues.apache.org/jira/browse/HBASE-15866
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Andrew Purtell
>            Assignee: Vivek Koppuru
>              Labels: newbie, patch
>             Fix For: 2.0.0, 1.4.0
>
>         Attachments: HBASE-15866-branch-1.patch, HBASE-15866.patch, HBASE-15866.patch,
HBASE-15866.patch, HBASE-15866.patch, HBASE-15866.patch, read-write-rpc-timeouts.patch, read-write-rpc.v1.patch
>
>
> We have a single tunable for the RPC timeout interval - hbase.rpc.timeout. This is fine
for the general case but there are use cases where it would be advantageous to set two separate
timeouts for reads (gets, scans, perhaps with significant server side filtering - although
the new scanner heartbeat feature mitigates where available) and mutations (fail fast under
tight SLA, resubmit or take mitigating action). 
> I propose we refer to a configuration setting "hbase.rpc.read.timeout" when handling
read operations and "hbase.rpc.write.timeout" when handling write operations. If those values
are not set in the configuration, fall back to the value of "hbase.rpc.timeout" or its default.

> So for example in HTable instead of one global timeout for each RPC (rpcTimeout), there
would be a readRpcTimeout and writeRpcTimeout also set up in HTable#finishSetup. Then wherever
we set up RPC with RpcRetryingCallerFactory#newCaller(int rpcTimeout) we pass in the read
or write timeout depending on what the op is.
> In general I don't like the idea of adding configuration parameters to our already heavyweight
set, but I think the inability to control timeouts separately for reads and writes is an operational
deficit.
> See also PHOENIX-2916.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message