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)

Reply via email to