public void setDataAllotMap(Map<TSeriesPartitionSlot, TConsensusGroupId> dataAllotMap) {
    if (seriesPartitionSlotCounter.size() == 0) {
      // No need to re-balance when there is no DataRegionGroup
      return;
    }
    dataAllotTableLock.lock();
    try {
      int mu = SERIES_SLOT_NUM / seriesPartitionSlotCounter.size();
      dataAllotMap.forEach(
          (seriesPartitionSlot, regionGroupId) -> {
            if (regionGroupId != null && seriesPartitionSlotCounter.get(regionGroupId) < mu) {
              // Put into dataAllotMap only when the number of SeriesSlots
              // allocated to the RegionGroup is less than mu
              this.dataAllotMap.put(seriesPartitionSlot, regionGroupId);
              seriesPartitionSlotCounter.put(
                  regionGroupId, seriesPartitionSlotCounter.get(regionGroupId) + 1);
            }
            // Otherwise, clear this SeriesPartitionSlot and wait for re-activating
          });
    } finally {
      dataAllotTableLock.unlock();
    }
  }
Only use this interface when init PartitionBalancer.
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/DataPartitionPolicyTable.java