This is an automated email from the ASF dual-hosted git repository.
yongzao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new eaa2c387cab Load balance service patch (#17463)
eaa2c387cab is described below
commit eaa2c387cab4464b4ea0e9a8fe626bfb0e4470ca
Author: Yongzao <[email protected]>
AuthorDate: Tue Apr 14 09:52:12 2026 +0800
Load balance service patch (#17463)
---
.../iotdb/confignode/manager/load/service/EventService.java | 5 +++++
.../db/queryengine/plan/analyze/ClusterPartitionFetcher.java | 10 +++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/service/EventService.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/service/EventService.java
index 52099bdfac3..209f39e7e56 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/service/EventService.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/service/EventService.java
@@ -115,6 +115,11 @@ public class EventService {
currentEventServiceFuture = null;
LOGGER.info("Event service is stopped successfully.");
}
+ synchronized (this) {
+ previousNodeStatisticsMap.clear();
+ previousRegionGroupStatisticsMap.clear();
+ previousConsensusGroupStatisticsMap.clear();
+ }
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ClusterPartitionFetcher.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ClusterPartitionFetcher.java
index 2274762341b..ca7ae02f739 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ClusterPartitionFetcher.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ClusterPartitionFetcher.java
@@ -523,13 +523,17 @@ public class ClusterPartitionFetcher implements
IPartitionFetcher {
Map<TSeriesPartitionSlot, TConsensusGroupId> orderedMap =
new LinkedHashMap<>(entry1.getValue());
- List<TConsensusGroupId> orderedGroupIds = new
ArrayList<>(orderedMap.values());
+ List<TConsensusGroupId> orderedGroupIds =
+ orderedMap.values().stream().distinct().collect(Collectors.toList());
List<TRegionReplicaSet> regionReplicaSets =
partitionCache.getRegionReplicaSet(orderedGroupIds);
+ Map<TConsensusGroupId, TRegionReplicaSet> groupIdToReplicaSet = new
HashMap<>();
+ for (int index = 0; index < orderedGroupIds.size(); index++) {
+ groupIdToReplicaSet.put(orderedGroupIds.get(index),
regionReplicaSets.get(index));
+ }
- int index = 0;
for (Map.Entry<TSeriesPartitionSlot, TConsensusGroupId> entry2 :
orderedMap.entrySet()) {
- result1.put(entry2.getKey(), regionReplicaSets.get(index++));
+ result1.put(entry2.getKey(),
groupIdToReplicaSet.get(entry2.getValue()));
}
}
return new SchemaPartition(