|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectvoldemort.client.rebalance.RebalanceBatchPlan
public class RebalanceBatchPlan
Constructs a batch plan that goes from currentCluster to finalCluster. The partition-stores included in the move are based on those listed in storeDefs. This batch plan is execution-agnostic, i.e., a plan is generated and later stealer- versus donor-based execution of that plan is decided. Long term, its unclear if the notion of RebalanceBatchPlan separate from RebalancePlan is needed. Batching tends to increase the overall cost of rebalancing and has historically been error prone. (I.e., the transition between batches has had intermittent failures.) Its value, if any, lies in allowing long-running (days or weeks) rebalancing jobs to have interim checkpoints such that single node failures don't force a restart from initial state. Should consider deprecating batching after zone expansion and zone shrinking have been done successfully as short (less than a day or two), single-batch rebalances.
Field Summary | |
---|---|
protected java.util.List<RebalanceTaskInfo> |
batchPlan
|
Constructor Summary | |
---|---|
RebalanceBatchPlan(Cluster currentCluster,
Cluster finalCluster,
java.util.List<StoreDefinition> commonStoreDefs)
Develops a batch plan to go from current cluster to final cluster for given stores. |
|
RebalanceBatchPlan(Cluster currentCluster,
java.util.List<StoreDefinition> currentStoreDefs,
Cluster finalCluster,
java.util.List<StoreDefinition> finalStoreDefs)
Develops a batch plan to go from current cluster/stores to final cluster/stores. |
Method Summary | |
---|---|
java.util.List<RebalanceTaskInfo> |
getBatchPlan()
|
int |
getCrossZonePartitionStoreMoves()
Determines total number of partition-stores moved across zones. |
Cluster |
getCurrentCluster()
|
java.util.List<StoreDefinition> |
getCurrentStoreDefs()
|
protected int |
getDonorId(StoreRoutingPlan currentSRP,
StoreRoutingPlan finalSRP,
int stealerZoneId,
int stealerNodeId,
int stealerPartitionId)
Decide which donor node to steal from. |
Cluster |
getFinalCluster()
|
java.util.List<StoreDefinition> |
getFinalStoreDefs()
|
MoveMap |
getNodeMoveMap()
|
int |
getPartitionStoreMoves()
Return the total number of partition-store moves |
RebalanceBatchPlanProgressBar |
getProgressBar(int batchId)
|
int |
getTaskCount()
Returns the number of rebalance tasks in this batch. |
MoveMap |
getZoneMoveMap()
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final java.util.List<RebalanceTaskInfo> batchPlan
Constructor Detail |
---|
public RebalanceBatchPlan(Cluster currentCluster, java.util.List<StoreDefinition> currentStoreDefs, Cluster finalCluster, java.util.List<StoreDefinition> finalStoreDefs)
currentCluster
- currentStoreDefs
- finalCluster
- finalStoreDefs
- public RebalanceBatchPlan(Cluster currentCluster, Cluster finalCluster, java.util.List<StoreDefinition> commonStoreDefs)
currentCluster
- finalCluster
- commonStoreDefs
- Method Detail |
---|
public Cluster getCurrentCluster()
public java.util.List<StoreDefinition> getCurrentStoreDefs()
public Cluster getFinalCluster()
public java.util.List<StoreDefinition> getFinalStoreDefs()
public java.util.List<RebalanceTaskInfo> getBatchPlan()
public RebalanceBatchPlanProgressBar getProgressBar(int batchId)
public MoveMap getZoneMoveMap()
public MoveMap getNodeMoveMap()
public int getCrossZonePartitionStoreMoves()
public int getPartitionStoreMoves()
public int getTaskCount()
protected int getDonorId(StoreRoutingPlan currentSRP, StoreRoutingPlan finalSRP, int stealerZoneId, int stealerNodeId, int stealerPartitionId)
currentSRP
- finalSRP
- stealerZoneId
- stealerNodeId
- stealerPartitionId
-
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |