Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-24511

Ability to configure timeout between RPC retry to RS from master

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1, 2.3.0, 2.2.6
    • None
    • None
    • Reviewed

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              sandeep.guggilam Sandeep Guggilam
              sandeep.guggilam Sandeep Guggilam
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: