[
https://issues.apache.org/jira/browse/HBASE-28741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17867459#comment-17867459
]
Viraj Jasani commented on HBASE-28741:
--------------------------------------
{quote}If there should be an upper bound, it should not be MAX_VALUE. Please
pick something more reasonable. We actually don't need min() here if it is
always going to choose the right hand parameter.
{quote}
Exactly, either we selectively choose 10s as reasonable timeout for
ConnectionRegistry APIs (like we are already doing with HBASE-28745), or we
replace "hbase.rpc.timeout" with new config
"hbase.rpc.connection.registry.timeout" with default value as 10s.
And as you mentioned, we have too many configs, so even if we replace MAX_VALUE
with 10s as part of Math.min() above, then also we should be good.
> Rpc ConnectionRegistry APIs should have timeout
> -----------------------------------------------
>
> Key: HBASE-28741
> URL: https://issues.apache.org/jira/browse/HBASE-28741
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 2.6.0, 2.4.18, 2.5.10
> Reporter: Viraj Jasani
> Priority: Major
>
> ConnectionRegistry are some of the most basic metadata APIs that determine
> how clients can interact with the servers after getting required metadata.
> These APIs should timeout quickly if they cannot serve metadata in time.
> Similar to HBASE-28428 introducing timeout for Zookeeper ConnectionRegistry
> APIs, we should also introduce timeout (same timeout values) for Rpc
> ConnectionRegistry APIs as well. RpcConnectionRegistry uses HBase RPC
> framework with hedge read fanout mode.
> We have two options to introduce timeout:
> # Use RetryTimer to keep watch on CompletableFuture and make it complete
> exceptionally if timeout is reached (similar proposal as HBASE-28428).
> # Introduce separate Rpc timeout config for
> AbstractRpcBasedConnectionRegistry as the rpc timeout for generic RPC
> operations (hbase.rpc.timeout) could be higher.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)