This is an automated email from the ASF dual-hosted git repository. tanxinyu pushed a commit to branch ca_test in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 3e892dbd1573fd0cdbfd39c00e36aa31335e5c1e Author: YongzaoDan <[email protected]> AuthorDate: Tue Aug 15 14:02:51 2023 +0800 Finish --- .../persistence/partition/DatabasePartitionTable.java | 4 ++-- .../iotdb/confignode/persistence/partition/RegionGroup.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java index a629569470a..bdca8aa7959 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java @@ -504,7 +504,7 @@ public class DatabasePartitionTable { regionId); return; } - regionGroup.getReplicaSet().getDataNodeLocations().add(node); + regionGroup.addRegionLocation(node); } private void removeRegionOldLocation(TConsensusGroupId regionId, TDataNodeLocation node) { @@ -525,7 +525,7 @@ public class DatabasePartitionTable { regionId); return; } - regionGroup.getReplicaSet().getDataNodeLocations().remove(node); + regionGroup.removeRegionLocation(node); } /** diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java index a555c2349cd..81fea013c21 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java @@ -19,6 +19,7 @@ package org.apache.iotdb.confignode.persistence.partition; import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId; +import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation; import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot; import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; @@ -74,6 +75,16 @@ public class RegionGroup { return replicaSet.deepCopy(); } + public void addRegionLocation(TDataNodeLocation node) { + replicaSet.addToDataNodeLocations(node); + replicaSet.getDataNodeLocations().sort(TDataNodeLocation::compareTo); + } + + public void removeRegionLocation(TDataNodeLocation node) { + replicaSet.getDataNodeLocations().remove(node); + replicaSet.getDataNodeLocations().sort(TDataNodeLocation::compareTo); + } + /** @param deltaMap Map<TSeriesPartitionSlot, Delta TTimePartitionSlot Count> */ public void updateSlotCountMap(Map<TSeriesPartitionSlot, AtomicLong> deltaMap) { deltaMap.forEach(
