This is an automated email from the ASF dual-hosted git repository.
haonan 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 80141097f8 [IOTDB-3552] Fix fetch incorrect SchemaTree by
StandaloneSchemaFetcher bug (#6347)
80141097f8 is described below
commit 80141097f8035ed71cdf812014191e20895547a5
Author: liuminghui233 <[email protected]>
AuthorDate: Mon Jun 20 18:25:11 2022 +0800
[IOTDB-3552] Fix fetch incorrect SchemaTree by StandaloneSchemaFetcher bug
(#6347)
---
.../mpp/plan/analyze/StandaloneSchemaFetcher.java | 40 +++++-----------------
1 file changed, 9 insertions(+), 31 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandaloneSchemaFetcher.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandaloneSchemaFetcher.java
index 7d4ac12f5f..2d190a79c3 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandaloneSchemaFetcher.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandaloneSchemaFetcher.java
@@ -64,18 +64,16 @@ public class StandaloneSchemaFetcher implements
ISchemaFetcher {
patternTree.constructTree();
Set<String> storageGroupSet = new HashSet<>();
SchemaTree schemaTree = new SchemaTree();
- List<PartialPath> partialPathList = patternTree.getAllPathPatterns();
+ List<PartialPath> pathPatterns = patternTree.getAllPathPatterns();
try {
- for (PartialPath path : partialPathList) {
- List<PartialPath> storageGroups =
localConfigNode.getBelongedStorageGroups(path);
+ for (PartialPath pathPattern : pathPatterns) {
+ List<PartialPath> storageGroups =
localConfigNode.getBelongedStorageGroups(pathPattern);
for (PartialPath storageGroupPath : storageGroups) {
- String storageGroup = storageGroupPath.getFullPath();
- storageGroupSet.add(storageGroup);
+ storageGroupSet.add(storageGroupPath.getFullPath());
SchemaRegionId schemaRegionId =
localConfigNode.getBelongedSchemaRegionId(storageGroupPath);
ISchemaRegion schemaRegion =
schemaEngine.getSchemaRegion(schemaRegionId);
- schemaTree.appendMeasurementPaths(
- schemaRegion.getMeasurementPaths(storageGroupPath, true));
+
schemaTree.appendMeasurementPaths(schemaRegion.getMeasurementPaths(pathPattern,
false));
}
}
} catch (MetadataException e) {
@@ -90,26 +88,6 @@ public class StandaloneSchemaFetcher implements
ISchemaFetcher {
return fetchSchema(patternTree);
}
- private SchemaTree fetchSchemaForWrite(PathPatternTree patternTree) {
- patternTree.constructTree();
- Set<String> storageGroupSet = new HashSet<>();
- SchemaTree schemaTree = new SchemaTree();
- List<PartialPath> partialPathList = patternTree.getAllPathPatterns();
- try {
- for (PartialPath path : partialPathList) {
- String storageGroup =
localConfigNode.getBelongedStorageGroup(path).getFullPath();
- storageGroupSet.add(storageGroup);
- SchemaRegionId schemaRegionId =
localConfigNode.getBelongedSchemaRegionId(path);
- ISchemaRegion schemaRegion =
schemaEngine.getSchemaRegion(schemaRegionId);
-
schemaTree.appendMeasurementPaths(schemaRegion.getMeasurementPaths(path,
false));
- }
- } catch (MetadataException e) {
- throw new RuntimeException(e);
- }
- schemaTree.setStorageGroups(new ArrayList<>(storageGroupSet));
- return schemaTree;
- }
-
@Override
public SchemaTree fetchSchemaWithAutoCreate(
PartialPath devicePath, String[] measurements, TSDataType[] tsDataTypes,
boolean aligned) {
@@ -127,12 +105,12 @@ public class StandaloneSchemaFetcher implements
ISchemaFetcher {
SchemaTree fetchedSchemaTree;
if (!config.isAutoCreateSchemaEnabled()) {
- fetchedSchemaTree = fetchSchemaForWrite(patternTree);
+ fetchedSchemaTree = fetchSchema(patternTree);
schemaTree.mergeSchemaTree(fetchedSchemaTree);
return schemaTree;
}
- fetchedSchemaTree = fetchSchemaForWrite(patternTree);
+ fetchedSchemaTree = fetchSchema(patternTree);
schemaTree.mergeSchemaTree(fetchedSchemaTree);
SchemaTree missingSchemaTree =
@@ -165,12 +143,12 @@ public class StandaloneSchemaFetcher implements
ISchemaFetcher {
SchemaTree fetchedSchemaTree;
if (!config.isAutoCreateSchemaEnabled()) {
- fetchedSchemaTree = fetchSchemaForWrite(patternTree);
+ fetchedSchemaTree = fetchSchema(patternTree);
schemaTree.mergeSchemaTree(fetchedSchemaTree);
return schemaTree;
}
- fetchedSchemaTree = fetchSchemaForWrite(patternTree);
+ fetchedSchemaTree = fetchSchema(patternTree);
schemaTree.mergeSchemaTree(fetchedSchemaTree);
SchemaTree missingSchemaTree;