From 997d6d0852d17bf166b4bc2a873394edaea2989b Mon Sep 17 00:00:00 2001 From: Yongzao <532741407@qq.com> Date: Mon, 13 Apr 2026 13:46:15 +0800 Subject: [PATCH 1/3] finish --- .../iotdb/confignode/manager/load/service/EventService.java | 3 +++ .../db/queryengine/plan/analyze/ClusterPartitionFetcher.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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 52099bdfac319..a02ebff25585d 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,9 @@ public void stopEventService() { currentEventServiceFuture = null; LOGGER.info("Event service is stopped successfully."); } + 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 2274762341b5d..bed3e389874c9 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,7 +523,7 @@ private SchemaPartition parseSchemaPartitionTableResp( Map orderedMap = new LinkedHashMap<>(entry1.getValue()); - List orderedGroupIds = new ArrayList<>(orderedMap.values()); + List orderedGroupIds = new ArrayList<>(new HashSet<>(orderedMap.values())); List regionReplicaSets = partitionCache.getRegionReplicaSet(orderedGroupIds); From ed5c63916ff9d309dd2b5015d67dc11abcf0092d Mon Sep 17 00:00:00 2001 From: Yongzao Date: Mon, 13 Apr 2026 14:53:05 +0800 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../plan/analyze/ClusterPartitionFetcher.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 bed3e389874c9..ca7ae02f739c9 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 @@ private SchemaPartition parseSchemaPartitionTableResp( Map orderedMap = new LinkedHashMap<>(entry1.getValue()); - List orderedGroupIds = new ArrayList<>(new HashSet<>(orderedMap.values())); + List orderedGroupIds = + orderedMap.values().stream().distinct().collect(Collectors.toList()); List regionReplicaSets = partitionCache.getRegionReplicaSet(orderedGroupIds); + Map 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 entry2 : orderedMap.entrySet()) { - result1.put(entry2.getKey(), regionReplicaSets.get(index++)); + result1.put(entry2.getKey(), groupIdToReplicaSet.get(entry2.getValue())); } } return new SchemaPartition( From 52d42aa9e934319680a3f4c46eadf2251ad6ed20 Mon Sep 17 00:00:00 2001 From: Yongzao Date: Mon, 13 Apr 2026 14:54:02 +0800 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../confignode/manager/load/service/EventService.java | 8 +++++--- 1 file changed, 5 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 a02ebff25585d..209f39e7e56dd 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,9 +115,11 @@ public void stopEventService() { currentEventServiceFuture = null; LOGGER.info("Event service is stopped successfully."); } - previousNodeStatisticsMap.clear(); - previousRegionGroupStatisticsMap.clear(); - previousConsensusGroupStatisticsMap.clear(); + synchronized (this) { + previousNodeStatisticsMap.clear(); + previousRegionGroupStatisticsMap.clear(); + previousConsensusGroupStatisticsMap.clear(); + } } }