Class PartitionBalancer
java.lang.Object
org.apache.iotdb.confignode.manager.load.balancer.PartitionBalancer
The SeriesPartitionSlotBalancer provides interfaces to generate optimal Partition allocation and
migration plans
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionallocateDataPartition(Map<String, Map<TSeriesPartitionSlot, TTimeSlotList>> unassignedDataPartitionSlotsMap) Allocate DataPartitionsallocateSchemaPartition(Map<String, List<TSeriesPartitionSlot>> unassignedSchemaPartitionSlotsMap) Allocate SchemaPartitionsvoidclearDataPartitionPolicyTable(String database) voidClear the PartitionBalancer when the current ConfigNode is no longer the leader.voidreBalanceDataPartitionPolicy(String database) Re-balance the DataPartitionPolicyTable.voidSet up the PartitionBalancer when the current ConfigNode becomes leader.
-
Constructor Details
-
PartitionBalancer
-
-
Method Details
-
allocateSchemaPartition
public Map<String,SchemaPartitionTable> allocateSchemaPartition(Map<String, List<TSeriesPartitionSlot>> unassignedSchemaPartitionSlotsMap) throws NoAvailableRegionGroupExceptionAllocate SchemaPartitions- Parameters:
unassignedSchemaPartitionSlotsMap- SchemaPartitionSlots that should be assigned- Returns:
- Map<DatabaseName, SchemaPartitionTable>, the allocating result
- Throws:
NoAvailableRegionGroupException
-
allocateDataPartition
public Map<String,DataPartitionTable> allocateDataPartition(Map<String, Map<TSeriesPartitionSlot, throws DatabaseNotExistsException, NoAvailableRegionGroupExceptionTTimeSlotList>> unassignedDataPartitionSlotsMap) Allocate DataPartitions- Parameters:
unassignedDataPartitionSlotsMap- DataPartitionSlots that should be assigned- Returns:
- Map<DatabaseName, DataPartitionTable>, the allocating result
- Throws:
DatabaseNotExistsException- If some specific Databases don't existNoAvailableRegionGroupException- If there are no available RegionGroups
-
reBalanceDataPartitionPolicy
Re-balance the DataPartitionPolicyTable.- Parameters:
database- Database name
-
setupPartitionBalancer
public void setupPartitionBalancer()Set up the PartitionBalancer when the current ConfigNode becomes leader. -
clearPartitionBalancer
public void clearPartitionBalancer()Clear the PartitionBalancer when the current ConfigNode is no longer the leader. -
clearDataPartitionPolicyTable
-