Bharath Vissapragada created HBASE-23649:
--------------------------------------------

             Summary: Implement an adaptive hedging policy 
                 Key: HBASE-23649
                 URL: https://issues.apache.org/jira/browse/HBASE-23649
             Project: HBase
          Issue Type: New Feature
          Components: Client, rpc
    Affects Versions: 3.0.0
            Reporter: Bharath Vissapragada
            Assignee: Bharath Vissapragada


HBASE-23305 implements a new rpc channel that can hedge requests to multiple 
target end points. As [[email protected]] 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to