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..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,6 +115,11 @@ public void stopEventService() { 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 2274762341b5d..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<>(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(