voldemort.client.rebalance
Class RebalanceController

java.lang.Object
  extended by voldemort.client.rebalance.RebalanceController

public class RebalanceController
extends java.lang.Object

Executes a RebalancePlan.


Field Summary
static int MAX_PARALLEL_REBALANCING
           
static long PROXY_PAUSE_IN_SECONDS
           
 
Constructor Summary
RebalanceController(java.lang.String bootstrapUrl, int maxParallelRebalancing, long proxyPauseSec)
           
 
Method Summary
 AdminClient getAdminClient()
           
 Cluster getCurrentCluster()
           
 java.util.List<StoreDefinition> getCurrentStoreDefs()
           
 RebalancePlan getPlan(Cluster finalCluster, int batchSize)
          Construct a plan for the specified final cluster & batchSize given the current cluster/stores & configuration of the RebalanceController.
 RebalancePlan getPlan(Cluster finalCluster, java.util.List<StoreDefinition> finalStoreDefs, int batchSize)
          Construct a plan for the specified final cluster/stores & batchSize given the current cluster/stores & configuration of the RebalanceController.
 void rebalance(RebalancePlan rebalancePlan)
          Validate the plan, validate the cluster, and then kick off rebalance.
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_PARALLEL_REBALANCING

public static final int MAX_PARALLEL_REBALANCING
See Also:
Constant Field Values

PROXY_PAUSE_IN_SECONDS

public static final long PROXY_PAUSE_IN_SECONDS
Constructor Detail

RebalanceController

public RebalanceController(java.lang.String bootstrapUrl,
                           int maxParallelRebalancing,
                           long proxyPauseSec)
Method Detail

getPlan

public RebalancePlan getPlan(Cluster finalCluster,
                             java.util.List<StoreDefinition> finalStoreDefs,
                             int batchSize)
Construct a plan for the specified final cluster/stores & batchSize given the current cluster/stores & configuration of the RebalanceController.

Parameters:
finalCluster -
finalStoreDefs - Needed for zone expansion/shrinking.
batchSize -
Returns:
RebalancePlan comprised of one or more batches.

getPlan

public RebalancePlan getPlan(Cluster finalCluster,
                             int batchSize)
Construct a plan for the specified final cluster & batchSize given the current cluster/stores & configuration of the RebalanceController.

Parameters:
finalCluster -
batchSize -
Returns:
RebalancePlan comprised of one or more batches.

rebalance

public void rebalance(RebalancePlan rebalancePlan)
Validate the plan, validate the cluster, and then kick off rebalance.

Parameters:
rebalancePlan -

getAdminClient

public AdminClient getAdminClient()

getCurrentCluster

public Cluster getCurrentCluster()

getCurrentStoreDefs

public java.util.List<StoreDefinition> getCurrentStoreDefs()

stop

public void stop()


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu