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

commit 1ef7089774f2e3dfd8e0531780e4cbb09f1418b0
Author: qiaojialin <[email protected]>
AuthorDate: Wed Jun 3 11:13:51 2020 +0800

    add sleep in while
---
 .../iotdb/db/engine/storagegroup/StorageGroupProcessor.java    |  5 +++--
 .../src/main/java/org/apache/iotdb/db/metadata/MManager.java   | 10 ++++++++--
 .../java/org/apache/iotdb/db/metadata/mnode/LeafMNode.java     |  8 +++++++-
 .../java/org/apache/iotdb/db/qp/executor/PlanExecutor.java     |  5 +++--
 .../main/java/org/apache/iotdb/db/service/TSServiceImpl.java   |  3 ++-
 5 files changed, 23 insertions(+), 8 deletions(-)

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 6d8a3fe..facce34 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
@@ -768,7 +768,8 @@ public class StorageGroupProcessor {
       String[] measurementList = plan.getMeasurements();
       for (int i = 0; i < measurementList.length; i++) {
         // Update cached last value with high priority
-        ((LeafMNode) manager.getChild(node, measurementList[i], 
plan.getDeviceId()))
+        ((LeafMNode) manager.getChild(node, measurementList[i],
+            plan.getDeviceId() + " in StorageGroupProcessor-771"))
             .updateCachedLast(plan.composeLastTimeValuePair(i), true, 
latestFlushedTime);
       }
     } catch (MetadataException e) {
@@ -823,7 +824,7 @@ public class StorageGroupProcessor {
           continue;
         }
         // Update cached last value with high priority
-        ((LeafMNode) manager.getChild(node, measurementList[i], 
plan.getDeviceId()))
+        ((LeafMNode) manager.getChild(node, measurementList[i], 
plan.getDeviceId()+ " in StorageGroupProcessor-826"))
             .updateCachedLast(plan.composeTimeValuePair(i), true, 
latestFlushedTime);
       }
     } catch (MetadataException e) {
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
index e7ae081..20f42fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
@@ -868,8 +868,14 @@ public class MManager {
     int tempCount = 0;
     while (childNode == null) {
       tempCount ++;
-      if (tempCount % 10000 == 0) {
-        logger.warn("try to get child {} 10000 times from {}", child, info);
+      try {
+        Thread.sleep(1);
+      } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
+        logger.warn("Current thread is interrupted, ignore");
+      }
+      if (tempCount % 1000 == 0) {
+        logger.warn("try to get child {} for {} times from {}", child, 
tempCount, info);
       }
       childNode = parent.getChild(child);
     }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/LeafMNode.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/LeafMNode.java
index bb64a10..3f65929 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/LeafMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/LeafMNode.java
@@ -26,9 +26,13 @@ import 
org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
 import java.util.Collections;
 import java.util.Map;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LeafMNode extends MNode {
 
+  private static final Logger logger = 
LoggerFactory.getLogger(LeafMNode.class);
+
   private static final long serialVersionUID = -1199657856921206435L;
 
   /**
@@ -73,7 +77,9 @@ public class LeafMNode extends MNode {
 
   @Override
   public MNode getChild(String name) {
-    return null;
+    logger.warn("current node {} is a LeafMNode, can not get child {}", 
super.name, name);
+    throw new RuntimeException(
+        String.format("current node %s is a LeafMNode, can not get child %s", 
super.name, name));
   }
 
   @Override
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index dde4957..da4c161 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -886,7 +886,7 @@ public class PlanExecutor implements IPlanExecutor {
             Path path = new Path(deviceId, measurement);
             internalCreateTimeseries(path.toString(), dataType);
           }
-          LeafMNode measurementNode = (LeafMNode) 
MManager.getInstance().getChild(node, measurement, deviceId);
+          LeafMNode measurementNode = (LeafMNode) 
MManager.getInstance().getChild(node, measurement, deviceId + " 
PlanExecutor-889");
 
           schemas[i] = measurementNode.getSchema();
           // reset measurement to common name instead of alias
@@ -1033,7 +1033,8 @@ public class PlanExecutor implements IPlanExecutor {
           TSDataType dataType = dataTypes[i];
           internalCreateTimeseries(path.getFullPath(), dataType);
         }
-        LeafMNode measurementNode = (LeafMNode) 
MManager.getInstance().getChild(node, measurementList[i], deviceId);
+        LeafMNode measurementNode = (LeafMNode) MManager.getInstance()
+            .getChild(node, measurementList[i], deviceId + " 
PlanExecutor-1036");
 
         // check data type
         if (measurementNode.getSchema().getType() != 
insertTabletPlan.getDataTypes()[i]) {
diff --git 
a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java 
b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 27cfd44..93d6770 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -1331,6 +1331,7 @@ public class TSServiceImpl implements TSIService.Iface, 
ServerContext {
     if (status != null) {
       return status;
     }
+    logger.info("createTimeseries {}", req.getPath());
     return executePlan(plan);
   }
 
@@ -1340,7 +1341,7 @@ public class TSServiceImpl implements TSIService.Iface, 
ServerContext {
       logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME);
       return 
RpcUtils.getTSBatchExecuteStatementResp(TSStatusCode.NOT_LOGIN_ERROR);
     }
-
+    logger.info("createMultiTimeseries, first is {}", req.getPaths().get(0));
     List<TSStatus> statusList = new ArrayList<>(req.paths.size());
     for (int i = 0; i < req.paths.size(); i++) {
       CreateTimeSeriesPlan plan = new CreateTimeSeriesPlan(new 
Path(req.getPaths().get(i)),

Reply via email to