[
https://issues.apache.org/jira/browse/HBASE-28741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17867436#comment-17867436
]
Andrew Kyle Purtell commented on HBASE-28741:
---------------------------------------------
AbstractRpcBasedConnectionRegistry is currently Private .
By the way Integer.MAX_VALUE is unacceptable as a default timeout. That is
effectively forever so then don't introduce a timeout at all! Somehow this got
through earlier code review. Please pick something more reasonable as default.
bq. We do want much smaller timeout for metadata registry APIs than any other
Rpc timeouts.
So then why introduce a separate configuration. We keep increasing the number
of configurable things, therefore the total complexity of operating the system.
Don't add a new configuration variable unless absolutely necessary.
> 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)