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")));
   }
 
   /**

Reply via email to