| org.apache.helix.controller.rebalancer.HelixRebalancer | 
   Known Indirect Subclasses
  
 | 
Allows one to come up with custom implementation of a rebalancer.
 This will be invoked on all changes that happen in the cluster.
 Simply return the resource assignment for a resource in this method.
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Given an ideal state for a resource and liveness of participants, compute a assignment of
 instances and states to each partition of a resource. 
  
   | |||||||||||
Initialize the rebalancer with a HelixManager and ControllerContextProvider if necessary 
  
   | |||||||||||
Given an ideal state for a resource and liveness of participants, compute a assignment of
 instances and states to each partition of a resource. This method provides all the relevant
 information needed to rebalance a resource. If you need additional information use
 manager.getAccessor to read and write the cluster data. This allows one to compute the
 ResourceAssignment according to app-specific requirements.
 
 Say that you have:
 
 
class MyRebalancerConfig implements RebalancerConfigas your rebalancer config. To get a typed version, you can do the following:
 MyRebalancerConfig config = BasicRebalancerConfig.convert(rebalancerConfig,
     MyRebalancerConfig.class);
 | rebalancerConfig | the properties of the resource for which a mapping will be computed | 
|---|---|
| prevAssignment | the previous ResourceAssignment of this cluster, or null if none | 
| cluster | complete snapshot of the cluster | 
| currentState | the current states of all partitions | 
Initialize the rebalancer with a HelixManager and ControllerContextProvider if necessary
| contextProvider | An object that supports getting and setting context across pipeline runs | 
|---|