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;
}