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

Implement an adaptive hedging policy

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.0.0-alpha-1
    • Fix Version/s: None
    • Component/s: Client, rpc
    • Labels:
      None

      Description

      HBASE-23305 implements a new rpc channel that can hedge requests to multiple target end points. As Andrew Purtell noted in the code review, it makes more sense to have a pluggable hedging policy and make it adaptive based on certain rpc performance/success metrics.

      By default, the implementation hedges the requests across 'n' target addresses. However in most cases, for smaller rpcs, the first 1 or 2 end points should return the results pretty quickly and there is no point in hedging with a bigger fan out as that only increases the load on the target servers. The idea is to increase the fan out only when needed.

      A naive way is to double the fan out at each attempt (starting from 1) until we reach the configured max fan out. For example if the max fan out is 10, instead of bursting to all 10 in each attempt, we fan out with values 1, 2, 4, 8, 10, 10, 10...

      Any suggestions welcome.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bharathv Bharath Vissapragada
                Reporter:
                bharathv Bharath Vissapragada
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: