@InterfaceAudience.Private abstract class CandidateGenerator extends Object
Constructor and Description |
---|
CandidateGenerator() |
Modifier and Type | Method and Description |
---|---|
(package private) abstract BaseLoadBalancer.Cluster.Action |
generate(BaseLoadBalancer.Cluster cluster) |
protected BaseLoadBalancer.Cluster.Action |
getAction(int fromServer,
int fromRegion,
int toServer,
int toRegion) |
(package private) List<Integer> |
getRandomIterationOrder(int length)
Returns a random iteration order of indexes of an array with size length
|
(package private) int |
pickOtherRandomRack(BaseLoadBalancer.Cluster cluster,
int rackIndex) |
(package private) int |
pickOtherRandomServer(BaseLoadBalancer.Cluster cluster,
int serverIndex) |
(package private) int |
pickRandomRack(BaseLoadBalancer.Cluster cluster) |
(package private) int |
pickRandomRegion(BaseLoadBalancer.Cluster cluster,
int server,
double chanceOfNoSwap)
From a list of regions pick a random one.
|
(package private) BaseLoadBalancer.Cluster.Action |
pickRandomRegions(BaseLoadBalancer.Cluster cluster,
int thisServer,
int otherServer) |
(package private) int |
pickRandomServer(BaseLoadBalancer.Cluster cluster) |
CandidateGenerator()
abstract BaseLoadBalancer.Cluster.Action generate(BaseLoadBalancer.Cluster cluster)
int pickRandomRegion(BaseLoadBalancer.Cluster cluster, int server, double chanceOfNoSwap)
BaseLoadBalancer.balanceCluster(Map)
recognize as signal to try a region move
rather than swap.cluster
- The state of the clusterserver
- index of the serverchanceOfNoSwap
- Chance that this will decide to try a move rather
than a swap.RegionInfo
or null if an asymmetrical move is
suggested.int pickRandomServer(BaseLoadBalancer.Cluster cluster)
int pickRandomRack(BaseLoadBalancer.Cluster cluster)
int pickOtherRandomServer(BaseLoadBalancer.Cluster cluster, int serverIndex)
int pickOtherRandomRack(BaseLoadBalancer.Cluster cluster, int rackIndex)
BaseLoadBalancer.Cluster.Action pickRandomRegions(BaseLoadBalancer.Cluster cluster, int thisServer, int otherServer)
protected BaseLoadBalancer.Cluster.Action getAction(int fromServer, int fromRegion, int toServer, int toRegion)
List<Integer> getRandomIterationOrder(int length)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.