You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/06/03 08:34:24 UTC

[incubator-iotdb] branch add_get_sleep updated: has alias query bug

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch add_get_sleep
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/add_get_sleep by this push:
     new bd2358d  has alias query bug
bd2358d is described below

commit bd2358d88c877a5ed1d7223c2b2a71fe5bb3ae14
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Jun 3 16:33:56 2020 +0800

    has alias query bug
---
 .../org/apache/iotdb/db/engine/memtable/AbstractMemTable.java |  2 +-
 .../iotdb/db/engine/storagegroup/StorageGroupProcessor.java   |  2 +-
 .../org/apache/iotdb/db/metadata/mnode/InternalMNode.java     | 11 +++++------
 .../java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java |  1 +
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
index f5bfe5e..4629023 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
@@ -100,7 +100,7 @@ public abstract class AbstractMemTable implements IMemTable {
   public void insert(InsertPlan insertPlan) {
     for (int i = 0; i < insertPlan.getValues().length; i++) {
 
-      if (insertPlan.getSchemas()[i] == null) {
+      if (insertPlan.getValues()[i] == null) {
         continue;
       }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index 1615ac5..dabc095 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -819,7 +819,7 @@ public class StorageGroupProcessor {
       node = manager.getDeviceNodeWithAutoCreateAndReadLock(plan.getDeviceId());
       String[] measurementList = plan.getMeasurements();
       for (int i = 0; i < measurementList.length; i++) {
-        if (plan.getSchemas()[i] == null) {
+        if (plan.getValues()[i] == null) {
           continue;
         }
         // Update cached last value with high priority
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
index b590170..67c2537 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
@@ -18,10 +18,9 @@
  */
 package org.apache.iotdb.db.metadata.mnode;
 
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.LinkedHashMap;
 import org.apache.iotdb.db.exception.metadata.DeleteFailedException;
 
-import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
@@ -40,8 +39,8 @@ public class InternalMNode extends MNode {
 
   public InternalMNode(MNode parent, String name) {
     super(parent, name);
-    this.children = new ConcurrentHashMap<>();
-    this.aliasChildren = new ConcurrentHashMap<>();
+    this.children = new LinkedHashMap<>();
+    this.aliasChildren = new LinkedHashMap<>();
   }
 
   @Override
@@ -50,7 +49,7 @@ public class InternalMNode extends MNode {
   }
 
   @Override
-  public void addChild(String name, MNode child) {
+  public synchronized void addChild(String name, MNode child) {
     children.put(name, child);
   }
 
@@ -90,7 +89,7 @@ public class InternalMNode extends MNode {
   }
 
   @Override
-  public MNode getChild(String name) {
+  public synchronized MNode getChild(String name) {
     return children.containsKey(name) ? children.get(name) : aliasChildren.get(name);
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
index a5ec2cb..119cc53 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
@@ -188,6 +188,7 @@ public class InsertPlan extends PhysicalPlan {
               measurements[i], values[i], types[i]);
           if (IoTDBDescriptor.getInstance().getConfig().isEnablePartialInsert()) {
             markMeasurementInsertionFailed(i);
+            schemas[i] = null;
           } else {
             throw e;
           }