java.lang.Object | |
↳ | org.apache.helix.controller.rebalancer.CustomRebalancer |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.apache.helix.controller.rebalancer.HelixRebalancer
|
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 |
---|