[ 
https://issues.apache.org/jira/browse/HBASE-28741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Viraj Jasani updated HBASE-28741:
---------------------------------
    Description: 
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.

  was:
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 server 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.


> 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)

Reply via email to