This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.13 by this push:
new fbd7963 [To rel/0.13][IOTDB-2749]Fix isPathExist check on MTree
(#5259)
fbd7963 is described below
commit fbd79639187a2714fe2d6e10c805e6347b681aac
Author: ZhaoXin <[email protected]>
AuthorDate: Wed Mar 16 21:44:40 2022 +0800
[To rel/0.13][IOTDB-2749]Fix isPathExist check on MTree (#5259)
---
.../org/apache/iotdb/db/metadata/mtree/MTree.java | 3 ++-
.../iotdb/db/metadata/MManagerBasicTest.java | 30 ++++++++++++++++++++++
2 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTree.java
b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTree.java
index 0d1b571..27aeb8a 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTree.java
@@ -738,8 +738,9 @@ public class MTree implements Serializable {
return false;
}
cur = upperTemplate.getDirectNode(nodeNames[i]);
+ } else {
+ cur = cur.getChild(nodeNames[i]);
}
- cur = cur.getChild(nodeNames[i]);
if (cur.isMeasurement()) {
return i == nodeNames.length - 1;
}
diff --git
a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
index 8c61f27..d677f25 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java
@@ -254,6 +254,36 @@ public class MManagerBasicTest {
fail(e.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.1")));
+
+ assertFalse(manager.isPathExist(new PartialPath("root.template")));
+ assertFalse(manager.isPathExist(new PartialPath("root.template.d1")));
+
+ try {
+ manager.createTimeseries(
+ new PartialPath("root.template.d2"),
+ TSDataType.INT32,
+ TSEncoding.RLE,
+ TSFileDescriptor.getInstance().getConfig().getCompressor(),
+ Collections.emptyMap());
+ } catch (MetadataException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+
+ try {
+ manager.createSchemaTemplate(getCreateTemplatePlan());
+ manager.setSchemaTemplate(new SetTemplatePlan("template1",
"root.template"));
+ manager.setUsingSchemaTemplate(new ActivateTemplatePlan(new
PartialPath("root.template.d1")));
+ } catch (MetadataException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+
+ assertTrue(manager.isPathExist(new PartialPath("root.template.d1")));
+ assertTrue(manager.isPathExist(new PartialPath("root.template.d1.s11")));
+ assertFalse(manager.isPathExist(new PartialPath("root.template.d2.s11")));
+ assertTrue(manager.isPathExist(new
PartialPath("root.template.d1.vector")));
+ assertTrue(manager.isPathExist(new
PartialPath("root.template.d1.vector.s0")));
}
/**