Sandeep Guggilam created HBASE-24511:
----------------------------------------
Summary: Ability to configure timeout between RPC retry to RS from
master
Key: HBASE-24511
URL: https://issues.apache.org/jira/browse/HBASE-24511
Project: HBase
Issue Type: Bug
Reporter: Sandeep Guggilam
Assignee: Sandeep Guggilam
This is useful for the cases where there is an injected environment edge and
when the first RS RPC request fails causing it to go to the retry block.
In the absence of this , the default timeout would be set to 100 ms and the
DelayedUtil class is meant to execute the retry after 100 ms. However as per
the getRemainingTime() logic here
(https://github.com/apache/hbase/blob/5b01e613fbbb92e243e99a1d199b4ffbb21ed2d9/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java#L94),
the equation would be evaluated to
EnvironmentEdgeManager.currentTime() >= EnvironmentEdgeManager.currentTime() +
100 which would never get evaluated to true in case of injected edge and retry
never happens. Hence this config helps you to override it to 0 in cases we want
to test with a manual injected environment edge so that the retry would succeed
An example would be Master trying to open the meta region even before the RS is
online, In this case the retry of opening the meta region would never happen in
the case of injected environment edge and master would never finish the
initialization
--
This message was sent by Atlassian Jira
(v8.3.4#803005)