You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2020/06/09 02:46:46 UTC

[incubator-iotdb] 02/02: use same string in resource and mmanager

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

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

commit 844146161bc86fc36fe8a34a8540be4c163f4310
Author: HTHou <hh...@outlook.com>
AuthorDate: Tue Jun 9 10:46:01 2020 +0800

    use same string in resource and mmanager
---
 .../apache/iotdb/db/engine/storagegroup/TsFileResource.java  | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index e3f7206..d0c9659 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -41,6 +41,8 @@ import org.apache.iotdb.db.engine.querycontext.ReadOnlyMemChunk;
 import org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.UpgradeTsFileResourceCallBack;
 import org.apache.iotdb.db.engine.upgrade.UpgradeTask;
 import org.apache.iotdb.db.exception.PartitionViolationException;
+import org.apache.iotdb.db.metadata.MManager;
+import org.apache.iotdb.db.metadata.mnode.MNode;
 import org.apache.iotdb.db.service.UpgradeSevice;
 import org.apache.iotdb.db.utils.FilePathUtils;
 import org.apache.iotdb.db.utils.UpgradeUtils;
@@ -276,9 +278,19 @@ public class TsFileResource {
       Map<String, Integer> deviceMap = new HashMap<>();
       long[] startTimesArray = new long[size];
       long[] endTimesArray = new long[size];
+      MManager mManager = MManager.getInstance();
       for (int i = 0; i < size; i++) {
         String path = ReadWriteIOUtils.readString(inputStream);
         long time = ReadWriteIOUtils.readLong(inputStream);
+        try {
+          if (mManager != null) {
+            MNode deviceNode = mManager.getNodeByPath(path);
+            path = deviceNode.getFullPath();
+          }
+        }
+        catch (Exception e) {
+          logger.error("Cannot get deviceId {} from MManager", path, e);
+        }
         deviceMap.put(path, i);
         startTimesArray[i] = time;
       }